Redis使用pipeline批量查询所有键值对以及multiGet用法
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用法相关推荐
- 【Redis】Redis 哈希 Hash 键值对集合操作 ( 哈希 Hash 键值对集合简介 | 查询操作 | 增加操作 | 修改操作 )
文章目录 一.哈希 Hash 键值对集合 二.查询操作 1.Redis 中查询 Hash 键值对数据 2.查询 Hash 键是否存在 3.查询 Hash 中所有的键 Field 4.查询 Hash 中 ...
- linux创建redis容器,docker-compose实现redis部署及键值添加
为了简化部署过程,减少手工操作,研究出使用docker-compose方式实现redis部署并往该redis中添加键值 以下为我编写的docker-compose.yml文件的内容 #vi /opt/ ...
- redis nosql_Redis教程:NoSQL键值存储
redis nosql 课程大纲 Redis是使用ANSI C编写的,具有可选持久性的开源,网络化,内存中键值数据存储.根据DB-Engines.com的月度排名,Redis是最受欢迎的键值存储. 其 ...
- Redis教程:NoSQL键值存储
课程大纲 Redis是使用ANSI C编写的具有可选持久性的开源,网络化,内存中键值数据存储.根据DB-Engines.com的月度排名,Redis是最受欢迎的键值存储. 它的名字意思是远程字典服务器 ...
- 参数过滤mongodb过滤查询键值
查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! find的第二个参数,过滤键值. 例如:我们想查询"name"键值,不想 ...
- 超大数据下大批量随机键值的查询优化方案
一.问题描述 键值查询是很常见的查询场景,在数据表上建有索引后,即使表中数据记录数巨大(几亿甚至几十亿行),用键值查询出单条记录也会很快,因为建立索引后的复杂度只有 logN(以 2 为底)次, 10 ...
- 超大数据下大批量随机键值的查询优化方案 1
一.问题描述 键值查询是很常见的查询场景,在数据表上建有索引后,即使表中数据记录数巨大(几亿甚至几十亿行),用键值查询出单条记录也会很快,因为建立索引后的复杂度只有 logN(以 2 为底)次, 10 ...
- 从零开始设计键值数据库(KEY-VALUE STORE)
本文主要参考 System Design Interview: An Insider's Guide(CHAPTER 6) 键值存储(key-value store),也被称为键值数据库(key-va ...
- 一个wxWidgets判断注册表键值的函数
项目中需要用wxWidgets对注册表的键值进行读取. 使用wxRegKey的QueryValue方法读取相应键值时,例如以下代码. 如果regdelay键值不存在会抛出一个异常.那么对用户来说体验很 ...
- 3、JavaWeb中Service层的作用、MyBatis的重要组件、mybatis-config.xml中的别名映射、properties配置、#{}和${}的区别、获取插入数据的主键值
文章目录 1.Service层的作用 2.MyBatis重要组件 Resources SqlSessionFactoryBuilder SqlSessionFactory SqlSession 针对上 ...
最新文章
- 修复Linux系统内核TCP漏洞,修复Linux TCP SACK PANIC 远程拒绝服务漏洞
- 常用的上网 发帖技巧
- UA SIE545 优化理论基础0 优化建模6 罐头的尺寸设计
- Swift -- 6.函数和闭包
- 1815. 计算两点间的距离
- 项目启动及需求分析(靳嘉豪、胡新宇、李晨曦、杨航、李瑶)团队作业
- 深度学习数据自动编码器_如何学习数据科学编码
- IDEA JDK1.8 ProGuard 混淆Maven项目代码
- 马斯克认怂和解,特斯拉股价大涨17%,市值回涨78亿美元
- php 有request,php实现httpRequest的方法
- 游戏ai人工智能_AI与游戏,第1部分:游戏如何推动了两门AI研究流派
- addEventListener和attachEvent的区别(转载)
- 到位App_jQuery_art-template
- 震惊!这浏览器居然进过全球 Top10
- 数据挖掘之Spark学习
- 北邮803考研经验杂谈
- Spring知识点记录
- 隐私数据保护的两大途径
- SSL证书概述与配置
- 校外活动计算机社团策划书,大学生社团文化节策划书总方案范文
热门文章
- SQLSERVER dbo 解释
- 透镜成像原理,眼球成像原理,小孔成像原理
- ubuntu修复linux分区表,硬盘分区表的修复(Ubuntu安装盘的另类用法)
- 热门高薪岗位大数据开发 自学转行如何就业(自学教程 学习路线 方法建议)
- PHP资源汇总-内容包括模板、框架、数据库、安全等方面的库和工具
- 黑客攻防技术宝典(六)
- YouTube视频设置水印
- win10计算机无限弹网页,Win10老弹出窗口怎么回事?Win10持续闪现神秘窗口现象的解决办法...
- 中国新材料产业十四五竞争格局及产销趋势研究报告2021年版
- html全局背景代码,html背景代码