springboot中使用redisTemplate操作redis
(1)引入jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>1.5.8.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.29</version>
</dependency>
(2)Redis工具类-注入redisTemplate操作redis
@Component
public class RedisUtil implements InitializingBean{
private RedisUtil() {
}
private static RedisUtil instance = null;
@Autowired
private RedisTemplate redisTemplate;
public synchronized static RedisUtil getInstance() {
if(instance==null) {
instance = new RedisUtil();
}
return instance;
}
@Bean
private ApplicationContext getApp() {
return ApplicationContextUtil.getApplicationContext();
}
@PostConstruct
public void init() {
System.out.println("@PostConstruct..");
if(instance == null) {
instance = getInstance();
}
instance.redisTemplate = redisTemplate;
initRedisTemplate();
}
//设置redistemplate的序列化器
private void initRedisTemplate(){
System.out.println("默认key序列化器:"+ApplicationContextUtil.getApplicationContext()+instance.redisTemplate.getKeySerializer());
System.out.println("默认value序列化器:"+instance.redisTemplate.getValueSerializer());
RedisSerializer rs = instance.redisTemplate.getStringSerializer();
instance.redisTemplate.setKeySerializer(rs);
instance.redisTemplate.setValueSerializer(rs);
}
public void afterPropertiesSet() throws Exception {
System.out.println("InitializingBean..");
}
public String get(String key) {
byte[] bval = instance.redisTemplate.getConnectionFactory().getConnection().get(key.getBytes());
return new String(bval);
}
}
(3)redis配置:
spring.redis.host=192.168.191.128
spring.redis.port=6379
(4)调用
String val = RedisUtil.getInstance().get("product.num");
1.redis.clients.jedis.exceptions.JedisDataException:
DENIED Redis is running in protected mode because protected mode is enabled,
no bind address was specified, no authentication password is requested to clients.
protected-mode no
设置密码访问模式
在redis.conf中加入一行密码设置
require 你的密码
保存,再重新启动redis客户端
分享到:
相关推荐
SpringBoot整合RedisTemplate操作Redis数据完整java代码适合java初学者使用,可熟悉redisTemplate类库的方式对缓存做存储等相关操作,以及java和springboot编码,包含单元测试部分软件架构:SpringBoot2.7+Maven...
SpringBoot提供了对Redis的自动配置支持,只需要在项目中引入`spring-boot-starter-data-redis`依赖,它会自动配置`RedisConnectionFactory`和`RedisTemplate`等核心组件。在`pom.xml`文件中添加以下依赖: ```xml ...
标题 "最最最简单的SpringBoot+Redis" 描述了如何在SpringBoot项目中集成和使用Redis,这是一个流行的Java开发框架和一个高效的键值存储系统。接下来,我们将深入探讨这个主题,详细讲解SpringBoot与Redis的集成,...
现在,你可以在你的服务类中注入`RedisTemplate`,并使用它来执行各种Redis操作,如设置和获取键值对、操作列表、集合、有序集合等。 例如,设置一个键值对: ```java @Autowired private RedisTemplate, String> ...
该项目的主要目标是在`SpringBoot`应用中集成`Lettuce`作为Redis客户端,实现对Redis的高效访问和操作。同时,通过自定义配置和注入不同的`RedisTemplate`实例,可以轻松实现多库切换,满足不同场景下的需求。 2. **...
在Spring Boot中,可以通过`RedisTemplate`或`StringRedisTemplate`操作Redis,并配置相应的主从复制策略。 3. **应用层处理**:为了实现双活,应用需要设计为无状态,确保请求可以在任意一台服务器上处理。...
在本项目中,"springboot项目连接数据库及redis实例"是一个使用Spring Boot框架构建的应用,它不仅能够与MySQL数据库进行交互,还集成了Redis作为缓存系统。Spring Boot以其便捷的初始化、自动化配置和模块化的特性...
在SpringBoot中,我们可以使用`RedisTemplate`或者`StringRedisTemplate`来执行这样的事务操作。例如: ```java @Autowired private RedisTemplate, Object> redisTemplate; public void redisTransaction() { ...
在 SpringBoot 集成测试中使用 Redis 是非常重要的,因为它可以模拟 Redis 环境,从而确保我们的应用程序在不同的场景下都能正常工作。同时,我们还可以使用 Mock 依赖项来模拟 Redis 服务器,从而提高测试的效率和...
在业务逻辑中,我们可以使用Spring Data Redis提供的`StringRedisTemplate`或自定义的`RedisTemplate`进行操作,例如缓存数据: ```java @Autowired private StringRedisTemplate stringRedisTemplate; public ...
Spring Boot和Redis的结合使用,可以构建出高效、可扩展的二级缓存系统,以减轻数据库的压力。本篇文章将深入探讨如何在Spring Boot 2.x项目中整合Redis作为MyBatis的二级缓存,并实现自定义键、自定义过期时间和...
总结,"myredis_redis_springboot_springboot+Redis_DEMO_"项目旨在演示如何在SpringBoot应用中整合和使用Redis,涵盖从基本的Redis连接到高级的缓存和消息队列功能。通过学习这个DEMO,开发者可以迅速掌握...
本文将详细介绍如何在 SpringBoot 中使用 Redis,包括配置 Redis、使用 StringRedisTemplate、实现 Redis 作为二级缓存等内容。 一、课程目标 本课程目标是学习如何在 SpringBoot 中使用 Redis,掌握 Redis 的基本...
在提供的"demo-redis"文件中,应该包含了一个完整的Spring Boot项目,演示了如何配置RedisTemplate以及如何在实际应用中使用它。通过阅读和运行这个示例,你可以更直观地了解上述概念。 总的来说,通过合理配置和...
5. **Redis缓存**:Spring Boot可以方便地实现缓存管理,将方法的返回结果存储在Redis中,下次调用时直接从缓存获取,提高性能。 ```java @Cacheable(value = "myCache") public MyObject myMethod(MyParam param) ...
1. **MybatisPlus整合Redis**:在需要缓存的查询方法上添加`@Cacheable`注解,通过Spring Cache抽象层,将结果存储到Redis中。下次请求相同数据时,直接从缓存获取,提高响应速度。 2. **RedisTemplate与...
3. **Session共享**:通过`RedisSessionDAO`,我们可以将Shiro的session数据存储到Redis中,实现分布式session。这样,用户在集群中的任意一台服务器登录后,其他服务器都能识别该用户。 **Mybatis集成** 1. **...
描述中的“Evict using approximated LRU among the keys with an expire set”是指Redis中的过期策略。Redis支持为键设置过期时间,当内存不足时,需要删除一些过期键来释放空间。LRU(Least Recently Used)是最...
Lua脚本可以在Redis中执行,以便实现一些复杂的数据处理任务。 二、Spring Boot调用lua脚本的步骤 1. 首先,需要在Spring Boot应用程序中创建一个RedisTemplate,并设置序列化方式为JSON序列化。 2.,然后,使用...
本文主要介绍了通过RedisTemplate连接多个Redis过程解析,详细介绍了使用SpringBoot提供的spring-boot-starter-data-redis工具包连接多个Redis数据库的过程。 首先,在集群环境下连接多个Redis数据库是非常正常的...