最近在写用ruby操作redis的脚本,网上找了很久都找不到操作redis有序集合的方法,记录一下
# 连接到 Redis 服务器
redis = Redis.new(host: 'localhost', port: 6379)
# 添加元素到 Sorted Set 中
redis.zadd('sorted_set', 1, 'a')
redis.zadd('sorted_set', 2, 'b')
redis.zadd('sorted_set', 3, 'c')
# 获取 Sorted Set 中指定范围内的元素
puts redis.zrangebyscore('sorted_set', 1, 2)
# => ["a", "b"]
# 获取指定key的全部元素(key为可变参数),以及score
redis.zrange(key, 0, -1, with_scores: true)
# 删除指定key的value
redis.zrem(key, value)
# 假设sorted set的key为'sorted_set_key',需要获取成员为'member'的分数
score = redis.zscore('sorted_set_key', 'member')
# 假设sorted set的key为'sorted_set_key',需要获取成员为'member1'、'member2'、'member3'的分数
scores = redis.zmscore('sorted_set_key', ['member1', 'member2', 'member3'])