如何在SET中使用COUNT参数存储SRANDMEMBER的结果?

时间:2016-05-14 17:27:30

标签: php redis

我使用phpredis,我有类似下面的内容:     $ qrand = $ redis-> sRandMember('qall',25); 有没有一种简单的方法可以将结果数组存储在除循环之外的SET中并添加到集合中?

1 个答案:

答案 0 :(得分:1)

您可以编写一个Lua脚本来为您执行此操作。以下内容应该有效:

 EVAL "redis.replicate_commands() redis.call('SADD',KEYS[2],unpack(redis.call('SRANDMEMBER', KEYS[1],ARGV[1]))" 2 qall tmp 25

注意:由于随机性,这仅适用于Redis v3.2及更高版本。