Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
粗
Redis Zrangebyscore 命令
Redis Zrangebyscore 返回有序集合中指定分数区间的成员列表。有序集成员按分数值递增(从小到大)次序排列。
具有相同分数值的成员按字典序来排列(该属性是有序集提供的,不需要额外的计算)。
默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号来使用可选的开区间 (小于或大于)。
注意 : 特别注意 存入的时候 value 要和分数值以一对一 否则达不到你想要的列表内容
实例如下
先插入100 条数据 for ($x=0; $x<=100; $x++) { $redis = RedisClient::instance(self::REDIS_STRING)->zAdd('Text:niefengjun', $x, 'niefengjun.cn_'.$x); //print_r($redis); } $redis = RedisClient::instance(self::REDIS_STRING)->ZRANGE('Text:niefengjun', 10,15); Fn::outputToJson(ResponseCode::OK,'请求成功',$redis) ; { "meta": { "code": 0, "message": "请求成功", "timestamp": 1500529917075 }, "data": [ "niefengjun.cn_10", "niefengjun.cn_11", "niefengjun.cn_12", "niefengjun.cn_13", "niefengjun.cn_14", "niefengjun.cn_15" ] }
你打算打赏多少钱呢?
(微信扫一扫)