zoukankan      html  css  js  c++  java
  • StringRedisTemplate与RedisTemplate 区别

    StringRedisTemplate与RedisTemplate

    • 两者的关系是StringRedisTemplate继承RedisTemplate。

    • 两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。

    • SDR默认采用的序列化策略有两种,一种是String的序列化策略,一种是JDK的序列化策略。

      StringRedisTemplate默认采用的是String的序列化策略,保存的key和value都是采用此策略序列化保存的。

      RedisTemplate默认采用的是JDK的序列化策略,保存的key和value都是采用此策略序列化保存的。

    Redis的String数据结构 (推荐使用StringRedisTemplate)

    注意:如果使用RedisTemplate需要更改序列化方式

      

    @Configuration
    public class RedisConfig {
    
        @Autowired
        private RedisTemplate redisTemplate;
    
        @Bean
        public RedisTemplate<Object, Object> stringSerializerRedisTemplate() {
    
            RedisSerializer<String> stringSerializer = new StringRedisSerializer();
            redisTemplate.setKeySerializer(stringSerializer);
            redisTemplate.setHashKeySerializer(stringSerializer);
    
            FastJsonRedisSerializer fastJsonRedisSerializer = new FastJsonRedisSerializer(Object.class);
            redisTemplate.setValueSerializer(fastJsonRedisSerializer);
            redisTemplate.setHashValueSerializer(fastJsonRedisSerializer);
    
            return redisTemplate;
        }
    }
    

      

    操作demo

    public List<EmsAddr> getList() {
    
            //查询缓存
            List<EmsAddr> list= (List<EmsAddr>)redisTemplate.opsForValue().get("str_List");
            if(null == list) {
                //缓存为空,查询一遍数据库
                list = emsAddrMapper.getList();
                //把数据库查询出来数据,放入Redis中
                redisTemplate.opsForValue().set("str_List",list);
            }
    
            redisTemplate.opsForList().leftPushAll("list_list", list);
            System.out.println(redisTemplate.opsForList().size("list_list"));
            System.out.println(redisTemplate.opsForList().range("list_list",0,-1));
            return list;
        }

    https://blog.csdn.net/chen15369337607/article/details/104058934

  • 相关阅读:
    Qt Creator pro 文件 导入vs2013碰到的问题
    扫描助手技术支持
    测试下载
    pod安装(可安装任意版本)和卸载 (转载做记录自留备用)
    阿拉德下载
    Mac 上传项目到码云
    iOS中Realm数据库的基本用法
    集成微信支付流程整理
    tableViewCell左划显示多个按钮(系统原生)
    快速排序法从小到大排序
  • 原文地址:https://www.cnblogs.com/beixiaoyi/p/13785783.html
Copyright © 2011-2022 走看看