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"
]
}你打算打赏多少钱呢?
(微信扫一扫)