Redis批量生成数据的实现
目录
- Redis批量生成数据
- Redis自带Debug方法
- Shell脚本
Redis批量生成数据 从研究Redis开始,一直会有一些Redis键值数量或者键值大小的场景要求,显然我们不可能一条一条记录的插入,那不是人都要没了,下面介绍两种方法。
Redis自带Debug方法 redis提供的debug命令可以自己研究下,里面涉及到模拟redis异常场景如oom、宕机、命令执行失败,redis重载rdb文件、aof文件,模拟redis命令耗时等等,我们可以通过
DEBUG help
查看详情,如下所示文章图片
这里需要用到的就是
debug populate
命令,使用如下所示#### 后面数量代表创建多少个键值127.0.0.1:6379> DEBUG POPULATE 1000OK127.0.0.1:6379> DBSIZE(integer) 1000127.0.0.1:6379>127.0.0.1:6379> info memory# Memoryused_memory:974368used_memory_human:951.53Kused_memory_rss:5234688used_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 zhangsanOK### 到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}doecho "key${i} ${i}"### 如果采用默认端口而且在本机可以这样做,不是默认端口或者本机需要指定### redis-cli -c -h 127.0.0.1 -p 7000redis-cli set key${i} ${i}done
造一个bigkey的测试数据
#!/bin/bash### 需要转到redis-cli的目录cd /opt/redis/redis-6.0.6/bin/for i in {1..10000}doecho "key${i} ${i}"redis-clihset objkey${i} ${i}done
使用shell脚本时需要注意,需要保证当前用户有可执行权限,如果不太情况的可以直接赋予所有权限如下所示
文章图片
【Redis批量生成数据的实现】到此这篇关于Redis批量生成数据的实现的文章就介绍到这了,更多相关Redis批量生成数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 循环神经网络系列基于LSTM的唐诗生成
- 批量导出设备TPM信息---Intune终结点管理
- bat脚本系列---批量修改文件名
- redis+lua实现脚本一键查询
- 生成订单30分钟未支付,则自动取消,该怎么实现()
- 扔掉Swagger,试试这款功能强大,零注解侵入的API接口文档生成工具!
- #yyds干货盘点#ssh批量管理主机
- xp系统升级后,浏览页面生成验证码总是出现红叉怎样办
- Spring Boot + Redis 实现各种操作 #yyds干货盘点#
- redis二进制编译安装