您好,欢迎访问一九零五行业门户网

怎么使用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}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批量生成数据的详细内容。
其它类似信息

推荐信息