如何使用redis-cli向redis填充数百MB大小的虚拟数据?

问题描述 投票:0回答:4

我正在尝试使用 Redis 监控。到目前为止,我想出了这个对监控 Redis 有用的指标:

  • 已使用内存
  • 直通放
  • 延迟
  • 连接
  • 复制

我是这方面的新手。我正在尝试使用虚拟数据从 redis-cli 填充 redis,如下所示:


 for i in `seq 10000000`; do redis-cli SET users:app "{id: '$i', name: 'name$i', address: 'address$i' }" ; done
但它并不能满足我足够快地填充 redis-db 的需求......

我还需要一些有关延迟和吞吐量监控的帮助。我知道它们的意思,但我不知道如何测量它们...我的眼睛在输出中看不到任何与此相关的内容

redis-cli info

谢谢您的支持/指导:D

performance redis monitoring health-monitoring valkey
4个回答
13
投票

使用未记录的

DEBUG POPULATE
命令。

DEBUG POPULATE count [prefix] [size]
:创建名为
count
key:<num>
字符串键。如果指定了前缀,则使用它来代替
key
前缀。

该值以

value:<num>
开头,如果需要,则用空字符填充,直到达到给定的
size
(如果指定)。

> DEBUG POPULATE 5 test 1000000
OK
> KEYS *
1) "test:3"
2) "test:1"
3) "test:4"
4) "test:2"
5) "test:0"
> STRLEN test:0
(integer) 1000000
> STRLEN test:4
(integer) 1000000
> GETRANGE test:1 0 10
"value:1\x00\x00\x00\x00"

1
投票

要“快速填充”,请按照有关 Mass Insert 的文档中的说明进行操作 - 要点是在预先准备的数据文件上使用

--pipe
指令。


1
投票

关注@leomurillo

我在没有最后一个参数的情况下让它工作,并且我找不到这个未记录命令的文档:)


127.0.0.1:6379> DEBUG POPULATE 10000000 PHPREDIS_SESSION
OK
(15.61s)
127.0.0.1:6379> dbsize
(integer) 10000334


1
投票

使用Python

redis-dummy-data-generator.py
,创建10000个键值对

#!/usr/bin/python
for i in range(10000):
  print 'set name'+str(i),'helloworld'

运行生成器脚本并将输出存储在

redis_commands.txt
文件中

python redis-dummy-data-generator.py > redis_commands.txt

将生成的虚拟数据加载到redis-server中

redis-cli -a mypassword -h localhost -p 6379  < redis_commands.txt 

© www.soinside.com 2019 - 2024. All rights reserved.