redisTemplat常用集合之bound...Ops系列和下面的opsFor...有什么区别呢?
redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set
/**获取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");
//以上是个人拙见,如有不对,欢迎指正
LM: boundXXXOps是阻塞式redis,建议用opsForXXX
我也想知道
可以看看知乎的这个回答https://www.zhihu.com/question/300002436