wr844322684 2020-04-19 00:53 采纳率: 100%
浏览 2894
已采纳

redisTemplate常用集合之bound...Ops系列和下面的opsFor...有什么区别?

redisTemplat常用集合之bound...Ops系列和下面的opsFor...有什么区别呢?
redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

  • 写回答

4条回答 默认 最新

  • 木木是个萝卜 2021-09-27 11:05
    关注
        /**获取a,然后获取b,然后删除c,对同一个key有多次操作,按照opsForHash()的写法
         * 每次都是redisTemplate.opsForHash().xxx("key","value")写法很是啰嗦
         */
        int result = (Integer) redisTemplate.opsForHash().get("hash-key","a");
        result = (Integer)redisTemplate.opsForHash().get("hash-key","b");
        redisTemplate.opsForHash().delete("hash-key","c");
    
        /**
         * boundHashOps()则是直接将key和boundHashOperations对象进行了绑定,
         * 后续直接通过boundHashOperations对象进行相关操作即可,写法简洁,不需要
         * 每次都显式的将key写出来
         */
        BoundHashOperations<String, String, Object> boundHashOperations = redisTemplate.boundHashOps("hash-key");
        result = (Integer) boundHashOperations.get("a");
        result = (Integer) boundHashOperations.get("b");
        boundHashOperations.delete("c");
        
        //以上是个人拙见,如有不对,欢迎指正
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 10月1日