SpringBoot中 集成 redisTemplate 对 Redis 的操作(一)
在Java 操作redis 时,有很多工具,redis 官网中,就有很多操作,
目前主流开发框架SpringBoot 中,当然也有集成好的操作redis的工具--redisTemplate,下面就来说一说它的基本操作。
依赖包
org.springframework.boot
spring-boot-starter-data-redis
org.springframework.boot
spring-boot-starter-web
redisTemplate 序列化规则
Spring Data JPA 提供的序列化 Serializer:
1、GenericToStringSerializer
2、Jackson2JsonRedisSerializer
3、JacksonJsonRedisSerializer
4、JdkSerializationRedisSerializer
5、OxmSerializer
6、StringRedisSerializer
我们通过操作
User user = new User(1, "su", new Date());
redisTemplate.opsForValue().set("name","su");
redisTemplate.opsForValue().set("user",user);
查看 redis 可以发现
redisTemplate 默认的是 JdkSerializationRedisSerializer 序列化方法。
如果说 我们想以json 的方法进行 序列化 可以自定义redisTemplate
@Configuration
public class RedisTemplateConfig {
[@Bean](https://my.oschina.net/bean)
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate
操作 可以发现
String 类型的操作
1⃣️ 添加数据
User user = new User(1, "su", new Date());
redisTemplate.opsForValue().set("name","su");
redisTemplate.opsForValue().set("user",user);
2⃣️ 添加数据,并设置过期时间
redisTemplate.opsForValue().set("age",18,10000, TimeUnit.MILLISECONDS);
3⃣️ 批量添加数据
HashMap
4⃣️ 原子操作数据
Long num = (Long) redisTemplate.opsForValue().getAndSet("num", 1);
5⃣️ 追加数据
Integer num = redisTemplate.opsForValue().append("name", "susu");
6⃣️ 根据key 获取数据
User user = (User) redisTemplate.opsForValue().get("user");
7⃣️ 批量获取数据
List
8⃣️ 自增运算 并设置自增步长 (默认是1)
Long num = redisTemplate.opsForValue().increment("num", 2);
9⃣️ 自减运算,并设置步长 (默认是1)
redisTemplate.opsForValue().decrement("num");