Spring Cloud--RedisTemplate

Redis中文网:

Redis 教程_redis教程icon-default.png?t=N7T8https://www.redis.net.cn/tutorial/3501.htmlRedis底层以二进制/字符串形式存储内容,所以,在实际开发中要进行RedisTemplate序列化,如果RedisTemplate不序列化的话,看见的是二进制内容(\xAD\xCD)如下图,序列化以后,则所见即所得(可以以对象、字符串等形式显示)。

序列化以前:

 序列化以后:

1、RedisTemplate序列化

序列化:把java对象转换为二进制/字符串,然后存储到内存中;

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
        //创建template连接
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        //设置连接工厂
        redisTemplate. setConnectionFactory (redisConnectionFactory);
        //设置序列化工具
        GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
        //key 和 hashKey采用 string 序列化
        redisTemplate.setKeySerializer(RedisSerializer.string());
        redisTemplate.setHashKeySerializer(RedisSerializer.string());
        //value和 hashValue采用 JSON序列化
        redisTemplate.setValueSerializer(jsonRedisSerializer);
        redisTemplate.setHashValueSerializer(jsonRedisSerializer);
        return redisTemplate;
    }


    @Bean
    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory) {
        StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
        stringRedisTemplate.setConnectionFactory(factory);
        stringRedisTemplate.afterPropertiesSet();
        return stringRedisTemplate;
    }

2、String类型

@Resource
RedisTemplate<String,Object> redisTemplate=new RedisTemplate<>();

//设置String类型key-value、有效时间
redisTemplate.opsForValue().set("String-key","String-value:123", Duration.ofMinutes(3));
//获取有效时间
redisTemplate.getExpire("String-key");
//删除
redisTemplate.delete("String-key");

3、List类型

//加入位置leftPush、reihtPush
redisTemplate.opsForList().leftPush("left-list","list1");

redisTemplate.opsForList().rightPush("right-list","list2");
//设置有效时间
redisTemplate.expire("list1",Duration.ofMinutes(3));

4、Hash类型

redisTemplate.opsForHash().put("hash","name","huqin");
redisTemplate.opsForHash().put("hash","age",23);
//设置过期时间
redisTemplate.expire("hash",Duration.ofMinutes(3));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值