Redis批量生成数据的实现


Posted in Redis onJune 05, 2022

Redis批量生成数据

从研究Redis开始,一直会有一些Redis键值数量或者键值大小的场景要求,显然我们不可能一条一条记录的插入,那不是人都要没了,下面介绍两种方法。

Redis自带Debug方法

redis提供的debug命令可以自己研究下,里面涉及到模拟redis异常场景如oom、宕机、命令执行失败,redis重载rdb文件、aof文件,模拟redis命令耗时等等,我们可以通过DEBUG help查看详情,如下所示

Redis批量生成数据的实现

这里需要用到的就是debug populate命令,使用如下所示

#### 后面数量代表创建多少个键值
127.0.0.1:6379> DEBUG POPULATE 1000
OK
127.0.0.1:6379> DBSIZE
(integer) 1000
127.0.0.1:6379>
127.0.0.1:6379> info memory
# Memory
used_memory:974368
used_memory_human:951.53K
used_memory_rss:5234688
used_memory_rss_human:4.99M

### 查看生成键值(生成时没有指定默认以key做为前缀)
127.0.0.1:6379> keys *
     1) "key:32201"
     2) "key:59146"
     3) "key:10551"
     ......
127.0.0.1:6379> get key:796
"value:796"

Shell脚本

使用shell脚本前我们需要知道,不用进入redis的命令行我们一样可以插入redis数据,如下所示

### 如果使用默认端口可以直接采用以下命令,如果不是默认端口或默认ip,需要重新指定如下
### redis-cli -c -h 127.0.0.1 -p 7000
[root@zzf993 bin]# ./redis-cli set name zhangsan
OK
### 到redis中查看
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379>
127.0.0.1:6379> get name
"zhangsan"

有了上面的知识,我们造数据就轻而易举了,我们采用shell脚本循环就可以解决问题

批量造1000个键值的key

#!/bin/bash
### 需要转到redis-cli的目录
cd /opt/redis/redis-6.0.6/bin/

for i in {1..10000}
do
  echo "key${i} ${i}"
  ### 如果采用默认端口而且在本机可以这样做,不是默认端口或者本机需要指定
  ### redis-cli -c -h 127.0.0.1 -p 7000
  redis-cli set key${i} ${i}
done

造一个bigkey的测试数据

#!/bin/bash
### 需要转到redis-cli的目录
cd /opt/redis/redis-6.0.6/bin/

for i in {1..10000}
do
  echo "key${i} ${i}"
  redis-cli  hset obj  key${i} ${i}
done

使用shell脚本时需要注意,需要保证当前用户有可执行权限,如果不太情况的可以直接赋予所有权限如下所示

Redis批量生成数据的实现

到此这篇关于Redis批量生成数据的实现的文章就介绍到这了,更多相关Redis批量生成数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
浅谈redis五大数据结构和使用场景
Apr 12 Redis
redis配置文件中常用配置详解
Apr 14 Redis
使用Redis实现秒杀功能的简单方法
May 08 Redis
为Java项目添加Redis缓存的方法
May 18 Redis
Redis入门教程详解
Aug 30 Redis
关于SpringBoot 使用 Redis 分布式锁解决并发问题
Nov 17 Redis
SpringBoot整合Redis入门之缓存数据的方法
Nov 17 Redis
CentOS8.4安装Redis6.2.6的详细过程
Nov 20 Redis
面试分析分布式架构Redis热点key大Value解决方案
Mar 13 Redis
源码分析Redis中 set 和 sorted set 的使用方法
Mar 22 Redis
Grafana可视化监控系统结合SpringBoot使用
Apr 19 Redis
基于Redission的分布式锁实战
Aug 14 Redis
Redis实现订单过期删除的方法步骤
Jun 05 #Redis
浅谈Redis缓冲区机制
Redis全局ID生成器的实现
Jun 05 #Redis
Redis keys命令的具体使用
Jun 05 #Redis
Redis入门基础常用操作命令整理
Jun 01 #Redis
Redis基本数据类型String常用操作命令
Jun 01 #Redis
Redis基本数据类型List常用操作命令
Jun 01 #Redis
You might like
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
js实现网页随机验证码
2020/10/19 Javascript
详解Python中的__init__和__new__
2014/03/12 Python
Python操作SQLite简明教程
2014/07/10 Python
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
python实现FTP服务器服务的方法
2017/04/11 Python
python实现rsa加密实例详解
2017/07/19 Python
python微信公众号之关键词自动回复
2018/06/15 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
python爬虫添加请求头代码实例
2019/12/28 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
python安装sklearn模块的方法详解
2020/11/28 Python
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
会计岗位描述
2014/02/22 职场文书
班级团队活动方案
2014/08/14 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
2015公务员试用期工作总结
2014/12/12 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
大学生党课感想
2015/08/11 职场文书
2016年公司新年寄语
2015/08/17 职场文书
教师师德承诺书2016
2016/03/25 职场文书