资讯专栏INFORMATION COLUMN

Redis 使用记录(六)

zlyBear / 2325人阅读

摘要:不同的是会关联一个类型的分数,用于进行排序。成员是唯一的,但是可以重复,如果重复,会使用字典排序。最大的成员数为个元素多亿。应用场景按照分数进行排列将用户与分数游戏分数考试成绩点赞数进行关联,然后进行排序。

Sorted Set(有序集合)

Sorted Set 和 Set 一样,也是 String 类型的集合,且成员唯一。不同的是 Sorted Set
会关联一个 double 类型的 score(分数),用于进行排序。
成员是唯一的,但是score可以重复,如果score重复,会使用字典排序。
最大的成员数为 232 - 1 个元素(40多亿)。

应用场景 按照分数进行排列

将用户与分数(游戏分数、考试成绩、点赞数)进行关联,然后进行排序。

任务队列

将任务分为不同的等级,例如重要为2,不重要为1,根据优先级安排任务。

实例
zAdd($redisKey, 78, "tom", 78, "jerry");// 添加成员
echo $redis->zCard($redisKey) . "
";// 获取成员数 2 $redis->zIncrBy($redisKey, 2, "jerry");// 对指定值进行增量 print_r($redis->zRange($redisKey, 0, -1));// 获取指定索引区间的值,从小到大,示例为获取所有值 Array ( [0] => tom [1] => jerry ) echo "
"; print_r($redis->zRevRange($redisKey, 0, -1));// 获取指定索引区间的值,从大到小,示例为获取所有值 Array ( [0] => jerry [1] => tom ) echo "
"; echo $redis->zScore($redisKey, "jerry") . "
";// 获取指定值的分数 80 echo $redis->zCount($redisKey, 70, 79) . "
";// 获取指定分数指定区间的数量 1 print_r($redis->zRangeByScore($redisKey, 70, 80));// 获取指定分数间的数据,从小到大 Array ( [0] => tom [1] => jerry ) echo "
"; print_r($redis->zRevRangeByScore($redisKey, 80, 70));// 获取指定分数间的数据,从大到小 Array ( [0] => jerry [1] => tom ) echo "
"; echo $redis->zRank($redisKey, "jerry") . "
";// 获取指定值的索引,从小到大 1 echo $redis->zRevRank($redisKey, "jerry") . "
";// 获取指定值的索引,从大到小 0 $redis->zAdd($redisKey, 56, "emma"); $redis->zRem($redisKey, "tom");// 移除指定值 print_r($redis->zRange($redisKey, 0, -1));// Array ( [0] => emma [1] => jerry ) echo "
"; $redis->zRemRangeByRank($redisKey, 1, 2);// 移除指定排名区间的成员 print_r($redis->zRange($redisKey, 0, -1));// Array ( [0] => emma ) echo "
"; $redis->zAdd($redisKey, 38, "tom", 98, "jerry"); $redis->zRemRangeByScore($redisKey, 30, 60);// 移除指定分数区间的成员 print_r($redis->zRange($redisKey, 0, -1));// Array ( [0] => jerry ) echo "
";

参考资料:菜鸟教程。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29966.html

相关文章

  • dubbo源码解析()注册中心——redis

    摘要:延长过期时间就是重新注册一次。关闭过期执行器关闭通知器销毁连接池关闭任务调度器这是销毁的方法,逻辑很清晰,方法在源码解析四注册中心中已经讲到。 注册中心——redis 目标:解释以为redis实现的注册中心原理,解读duubo-registry-redis的源码 Redis是一个key-value存储系统,交换数据非常快,redis以内存作为数据存储的介质,所以读写数据的效率极高,远远...

    plus2047 评论0 收藏0
  • Spring Boot 的简单教程(Redis的整合

    摘要:关于数据的存储与获取太多时候我们依赖数据库,可是当大量数据请求出现的时候,数据库还是有点力不从心。这里我们需要在里面添加的依赖。写一个单元测试来检查一下。查看控制台打印的内容。 关于数据的存储与获取太多时候我们依赖数据库,可是当大量数据请求出现的时候,数据库还是有点力不从心。这篇文章我就带大家了解一下辅助工具Redis。 首先我们先创建一个springboot的项目,这里我就不再和...

    tianren124 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<