Redis使用pipeline批量查询所有键值对

本意是redis存储hashMap的时候单个key对应的value值存储的数据过大,有11m,读取该value值速度太慢,查询网上资料后都说把这个key-value拆分,再用pipeline或者multiGet查询,经过调研,如下:把这个key-value拆分成了46个key-value,然后再用pipeline或者multiGet查询,发现pipeline和multiGet确实可以批量查询多键值对,但是总速度跟之前单个键值对查询速度没有区别-.-
下面是redis表和pipeline以及multiGet的批量查询方法:

对应的redis表

     @SuppressWarnings({ "rawtypes", "unchecked" })public List executePipelined(Collection<String> keySet) {return redisTemplate.executePipelined(new SessionCallback<Object>() {@Overridepublic <K, V> Object execute(RedisOperations<K, V> operations) throws DataAccessException {HashOperations hashOperations = operations.opsForHash();for (String key : keySet) {hashOperations.entries(key);}return null;}});}@Testpublic void testPp(){Collection<String> keySet = new ArrayList<>();keySet.add("info_platform_test:7");List list = executePipelined(keySet);}

multiGet用法

public List<String> multiGetCaches(List<String> key){try{if (null != key && key.size() > 0) {Collection<String> collection = key;List<String> list = redisTemplate.opsForHash().multiGet("info_platform_test:7",collection);if (null != list && list.size() > 0) {return list;} else {return null;}}else {return null;}}catch (RedisConnectionFailureException e){return null;} catch (Exception e){return null;}}@Testpublic void multTest(){List<String> stringList = new ArrayList<>();for (int j=0; j<47; j++){stringList.add(j+"");}List<String> list = multiGetCaches(stringList);}

Redis使用pipeline批量查询所有键值对以及multiGet用法相关推荐

  1. 【Redis】Redis 哈希 Hash 键值对集合操作 ( 哈希 Hash 键值对集合简介 | 查询操作 | 增加操作 | 修改操作 )

    文章目录 一.哈希 Hash 键值对集合 二.查询操作 1.Redis 中查询 Hash 键值对数据 2.查询 Hash 键是否存在 3.查询 Hash 中所有的键 Field 4.查询 Hash 中 ...

  2. linux创建redis容器,docker-compose实现redis部署及键值添加

    为了简化部署过程,减少手工操作,研究出使用docker-compose方式实现redis部署并往该redis中添加键值 以下为我编写的docker-compose.yml文件的内容 #vi /opt/ ...

  3. redis nosql_Redis教程:NoSQL键值存储

    redis nosql 课程大纲 Redis是使用ANSI C编写的,具有可选持久性的开源,网络化,内存中键值数据存储.根据DB-Engines.com的月度排名,Redis是最受欢迎的键值存储. 其 ...

  4. Redis教程:NoSQL键值存储

    课程大纲 Redis是使用ANSI C编写的具有可选持久性的开源,网络化,内存中键值数据存储.根据DB-Engines.com的月度排名,Redis是最受欢迎的键值存储. 它的名字意思是远程字典服务器 ...

  5. 参数过滤mongodb过滤查询键值

    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! find的第二个参数,过滤键值. 例如:我们想查询"name"键值,不想 ...

  6. 超大数据下大批量随机键值的查询优化方案

    一.问题描述 键值查询是很常见的查询场景,在数据表上建有索引后,即使表中数据记录数巨大(几亿甚至几十亿行),用键值查询出单条记录也会很快,因为建立索引后的复杂度只有 logN(以 2 为底)次, 10 ...

  7. 超大数据下大批量随机键值的查询优化方案 1

    一.问题描述 键值查询是很常见的查询场景,在数据表上建有索引后,即使表中数据记录数巨大(几亿甚至几十亿行),用键值查询出单条记录也会很快,因为建立索引后的复杂度只有 logN(以 2 为底)次, 10 ...

  8. 从零开始设计键值数据库(KEY-VALUE STORE)

    本文主要参考 System Design Interview: An Insider's Guide(CHAPTER 6) 键值存储(key-value store),也被称为键值数据库(key-va ...

  9. 一个wxWidgets判断注册表键值的函数

    项目中需要用wxWidgets对注册表的键值进行读取. 使用wxRegKey的QueryValue方法读取相应键值时,例如以下代码. 如果regdelay键值不存在会抛出一个异常.那么对用户来说体验很 ...

  10. 3、JavaWeb中Service层的作用、MyBatis的重要组件、mybatis-config.xml中的别名映射、properties配置、#{}和${}的区别、获取插入数据的主键值

    文章目录 1.Service层的作用 2.MyBatis重要组件 Resources SqlSessionFactoryBuilder SqlSessionFactory SqlSession 针对上 ...

最新文章

  1. 修复Linux系统内核TCP漏洞,修复Linux TCP SACK PANIC 远程拒绝服务漏洞
  2. 常用的上网 发帖技巧
  3. UA SIE545 优化理论基础0 优化建模6 罐头的尺寸设计
  4. Swift -- 6.函数和闭包
  5. 1815. 计算两点间的距离
  6. 项目启动及需求分析(靳嘉豪、胡新宇、李晨曦、杨航、李瑶)团队作业
  7. 深度学习数据自动编码器_如何学习数据科学编码
  8. IDEA JDK1.8 ProGuard 混淆Maven项目代码
  9. 马斯克认怂和解,特斯拉股价大涨17%,市值回涨78亿美元
  10. php 有request,php实现httpRequest的方法
  11. 游戏ai人工智能_AI与游戏,第1部分:游戏如何推动了两门AI研究流派
  12. addEventListener和attachEvent的区别(转载)
  13. 到位App_jQuery_art-template
  14. 震惊!这浏览器居然进过全球 Top10
  15. 数据挖掘之Spark学习
  16. 北邮803考研经验杂谈
  17. Spring知识点记录
  18. 隐私数据保护的两大途径
  19. SSL证书概述与配置
  20. 校外活动计算机社团策划书,大学生社团文化节策划书总方案范文

热门文章

  1. SQLSERVER dbo 解释
  2. 透镜成像原理,眼球成像原理,小孔成像原理
  3. ubuntu修复linux分区表,硬盘分区表的修复(Ubuntu安装盘的另类用法)
  4. 热门高薪岗位大数据开发 自学转行如何就业(自学教程 学习路线 方法建议)
  5. PHP资源汇总-内容包括模板、框架、数据库、安全等方面的库和工具
  6. 黑客攻防技术宝典(六)
  7. YouTube视频设置水印
  8. win10计算机无限弹网页,Win10老弹出窗口怎么回事?Win10持续闪现神秘窗口现象的解决办法...
  9. 中国新材料产业十四五竞争格局及产销趋势研究报告2021年版
  10. html全局背景代码,html背景代码