首頁  >  文章  >  資料庫  >  怎麼使用Redis批量產生數據

怎麼使用Redis批量產生數據

王林
王林轉載
2023-05-28 10:05:331104瀏覽

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批量產生數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除