博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
org.springframework.data.redis 一次连接获取特定key所有k-v(pipeline)
阅读量:6500 次
发布时间:2019-06-24

本文共 1140 字,大约阅读时间需要 3 分钟。

hot3.png

当我们需要一次性获取在redis中以hash方式存储的所有key-value时,我们可以使用下面的方式来获取。

public void testGetMore() throws IOException {				RedisCallback
> pipelineCallback = new RedisCallback
>() { @Override public List doInRedis(RedisConnection connection) throws DataAccessException { connection.openPipeline(); connection.hGetAll("1129de8b-25bb-5678-be75-9552bcccf660".getBytes()); connection.hGetAll("1129de8b-25bb-1234-be75-9552bcccf660".getBytes()); return connection.closePipeline(); }; List results = (List) redisTemplate.execute(pipelineCallback); for (Object item : results) { if (item==null) { System.out.println("I'm null"); }else { if (item instanceof JedisByteHashMap) { JedisByteHashMap jedisByteHashMap = (JedisByteHashMap)item; for (Map.Entry entry : jedisByteHashMap.entrySet()) { byte[] key = (byte[]) entry.getKey(); System.out.println(new String(key)); byte[] value = (byte[]) entry.getValue(); System.out.println(new String(value)); } } } } }

当然了,我们需要封装这个函数为通用的方法,这个时候,我们只需要把Key的List作形参即可。这里不再封装了,需要注意的就是一定要判断null的情况。因为传入的hashkey不一定能在redis中找到对应的记录。

转载于:https://my.oschina.net/hengbao666/blog/2231517

你可能感兴趣的文章
通过域名获取IP的方法
查看>>
前端那些事之javascript内存
查看>>
QT——QT图形片
查看>>
Vue工程化
查看>>
怎么让ABBYY禁用自动处理
查看>>
lvm讲解、磁盘故障小案例
查看>>
HBase RowKey散列和预分区
查看>>
BT5重启与关机命令
查看>>
我的友情链接
查看>>
六一儿童节:虽然小时候吹过的牛没实现,幸亏喜欢的零食玩具还买得起
查看>>
计算机十二种常用密码破解法
查看>>
前端知识 | CSS小技巧-自适应椭圆
查看>>
前端知识 | 论jQuery如何编写插件
查看>>
LVM逻辑卷管理
查看>>
端口镜像 / 华为3050C 交换机镜像配置
查看>>
rquirejs
查看>>
Django中的cookie和session
查看>>
我的友情链接
查看>>
equals与==
查看>>
我的友情链接
查看>>