gpt4 book ai didi

redis - Redis排序中的数值运算

转载 作者:IT王子 更新时间:2023-10-29 06:00:07 26 4
gpt4 key购买 nike

如文档中所述 http://redis.io/commands/sort

SORT mylist BY weight_* 

我想做的是类似

SORT mylist BY (weight_* + vote_*)

仅通过 Redis 就可以做到这一点吗?

最佳答案

您可以使用 Lua 构建每个 sum_* 键并按这些键排序:

redis 127.0.0.1:6379> sadd myset 1 2 3
(integer) 0
redis 127.0.0.1:6379> mset weight_1 1 weight_2 2 weight_3 3
OK
redis 127.0.0.1:6379> mset vote_1 1 vote_2 2 vote_3 0
OK
redis 127.0.0.1:6379> eval "for i in ipairs(redis.call('smembers', KEYS[1])) do redis.call('set', 'sum_' .. i, redis.call('get','weight_' .. i) + redis.call('get', 'vote_' .. i)) end;" 1 myset
(nil)
redis 127.0.0.1:6379> sort myset by sum_*
1) "1"
2) "3"
3) "2"

关于redis - Redis排序中的数值运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19592991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com