網站首頁 編程語言 正文
Redis批量生成數據
從研究Redis開始,一直會有一些Redis鍵值數量或者鍵值大小的場景要求,顯然我們不可能一條一條記錄的插入,那不是人都要沒了,下面介紹兩種方法。
Redis自帶Debug方法
redis提供的debug命令可以自己研究下,里面涉及到模擬redis異常場景如oom、宕機、命令執行失敗,redis重載rdb文件、aof文件,模擬redis命令耗時等等,我們可以通過DEBUG help
查看詳情,如下所示
這里需要用到的就是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腳本時需要注意,需要保證當前用戶有可執行權限,如果不太情況的可以直接賦予所有權限如下所示
原文鏈接:https://blog.csdn.net/zzf1233/article/details/124645169
相關推薦
- 2022-10-07 Android調用系統圖庫獲取圖片的方法_Android
- 2022-05-01 python3中apply函數和lambda函數的使用詳解_python
- 2022-06-29 在Oracle中使用正則表達式_oracle
- 2022-04-06 .Net使用加密升級數據安全_實用技巧
- 2022-12-04 pytorch從頭開始搭建UNet++的過程詳解_相關技巧
- 2023-10-11 記錄Mybatis-Plus inSql用法
- 2023-03-20 C#如何讓winform程序中的輸入文本框保留上次的輸入_C#教程
- 2022-12-29 python解決循環依賴的問題分析_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支