运行redis基准测试时如何使用随机数?

运行redis基准测试时如何使用随机数?,redis,Redis,我用过这个,但不起作用: redis-benchmark -n 1000000 zadd ss ele:rand:000000000000 ele:rand:000000000000 此后, zcard ss 仍然返回0 为什么? 非常感谢。此命令行有两个问题 zadd命令的第二个参数必须是分数(即数字),而不是键名。不能使用ele:rand:000000000000表示分数。在您的示例中,所有命令都失败,这就是为什么zset中最终没有任何命令 您应该使用-r选项来设置键的随机值的范围

我用过这个,但不起作用:

redis-benchmark -n 1000000 zadd ss ele:rand:000000000000 ele:rand:000000000000
此后,

zcard ss 
仍然返回0

为什么?


非常感谢。

此命令行有两个问题

  • zadd命令的第二个参数必须是分数(即数字),而不是键名。不能使用ele:rand:000000000000表示分数。在您的示例中,所有命令都失败,这就是为什么zset中最终没有任何命令

  • 您应该使用-r选项来设置键的随机值的范围

例如:

$ redis-benchmark -r 10000 -n 1000000 zadd ss 0 ele:rand:000000000000
$ redis-cli zcard ss
(integer) 10000

谢谢有没有办法在redis benchmark命令行中生成随机分数?没有,因为:rand:标记保留在结果字符串中。@okwap,使用
redis benchmark-n1000000-r1000000-q-p32 zadd zset\uuuu rand\u int\uuuu\uu rand\u int\uuuu
而不是注意,您不会在集合中有1M个元素,因为rand\u int可能会生成已经在集合中的元素