SpringBoot-Redis

依赖

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>

配置

# 服务器连接端口
spring.redis.port=6379
# 服务器地址
spring.redis.host=127.0.0.1
# 数据库索引(默认为0)
spring.redis.database=0
# 服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(负数表示没有限制)
spring.redis.jedis.pool.max-active=8
# 连接池最大阻塞等待时间(负数表示没有限制)
spring.redis.jedis.pool.max-wait=-1ms
# 连接池最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=5000ms

自定义RedisTemplate

@Configuration
public class RedisConfig {
   
    @Bean
    public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
   
        // 创建模板实例
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        // 配置序列化的方式
        // json方式
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        redisTemplate.setKeySerializer(new Jackson2JsonRedisSerializer(Object.class));
        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
        // String方式
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        // 设置不同数据类型的序列化方式
        redisTemplate.setKeySerializer(stringRedisSerializer);
        redisTemplate.setHashKeySerializer(stringRedisSerializer);
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }
}

使用

@Autowired
private RedisTemplate redisTemplate;
@Test
void contextLoads() {
   
    // 操作不同的数据类型
    // 字符串
    redisTemplate.opsForValue();
    // 集合
    redisTemplate.opsForList();
    redisTemplate.opsForHash();
    redisTemplate.opsForSet();
    redisTemplate.opsForZSet();
    // 地图
    redisTemplate.opsForGeo();
    // 存、取值
    redisTemplate.opsForValue().set("k", "v");
    redisTemplate.opsForValue().get("k");
    // 设置缓存失效时间
    redisTemplate.expire("k", 30l, TimeUnit.SECONDS);
    // 获取失效时间
    redisTemplate.getExpire("k",TimeUnit.SECONDS);
    // 判断key是否存在
    redisTemplate.hasKey("k");
    // 删除key
    redisTemplate.delete(new String[]{
   "k", "k2"});
    // key递增:递增因子需要大于0
    redisTemplate.opsForValue().increment("k",1);
}

相关推荐

  1. SpringBoot-Redis

    2024-01-08 17:34:05       40 阅读
  2. SpringBoot整合Redis

    2024-01-08 17:34:05       34 阅读
  3. SpringBoot3 整合Redis

    2024-01-08 17:34:05       33 阅读
  4. redisspringboot配置

    2024-01-08 17:34:05       39 阅读
  5. SpringBoot 整合 Redis 缓存

    2024-01-08 17:34:05       40 阅读
  6. SpringBoot 整合redis

    2024-01-08 17:34:05       35 阅读
  7. springboot整合redis

    2024-01-08 17:34:05       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 17:34:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 17:34:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 17:34:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 17:34:05       18 阅读

热门阅读

  1. Keras内置数据集

    2024-01-08 17:34:05       30 阅读
  2. 云水苍苍走四方

    2024-01-08 17:34:05       29 阅读
  3. MW Open - 高效率的API接口管理工具

    2024-01-08 17:34:05       34 阅读
  4. Android debug带系统签名

    2024-01-08 17:34:05       46 阅读