(PHP)redis Zset(有序集合 sorted set)操作
/**
*
* Zset操作
* sorted set操作
* 有序集合
* sorted set 它在set的基础上增加了一个顺序属性,这一属性在修改添加元素的时候可以指定,每次指定后,zset会自动从新按新的值调整顺序
*
*/
// //将一个或多个元素插入到集合里面,默认从尾部开始插入
// //如果要在头部插入,则找一个元素,在元素后面添加一个你需要插入的元素即可
// $redis->zAdd('sorted1',100,'坑啊',98.999,99,90,90,80,80,60,60,70,70);
// // $redis->zAdd('集合',浮点数(元素),'key',(插入头部的数据),key);
// //返回有序集中指定区间内的成员。成员按分数值递增排序,分数值相同的则按字典序来排序。
// //参数:第四个参数表示是否返回各个元素的分数值,默认为false。
// $redis->zRange('sorted', 0, -1, true);
// //返回有序集中指定区间内的成员。成员按分数值递减排序,分数值相同的则按字典序的倒序来排序。
// $redis->zReverseRange('sorted', 0, -1, true);
// //返回有序集中指定分数区间的成员列表,按分数值递增排序
// $redis->zRangeByScore('sorted', 10, 99);
// //自定义返回的序集返回起始位置及条数
// $redis->zRangeByScore('sorted', 0,90,['limit' =>[0,2]]);
//返回有序集中指定分数区间的成员列表,按分数值递减排序,分数值相同的则按字典序的倒序来排序。注意,区间表示的时候大值在前,小值在后。
// $redis->zRevRangeByScore('sorted', 100, 90);
// //迭代有序集合中的元素。
// //可理解为查找指定的值,将元素修改为float类型
// //返回值:[元素名=>分数值,,..]
// $redis->zscan('sorted', $it, 100, 10);
// //返回指定有序集的元素数量,序集的长度。
// $redis->zCard('sorted');
// //返回有序集中指定分数区间的成员数量。
// $redis->zCount('sorted', 90, 100);
// //返回有序集中指定成员的分数值。若成员不存在则返回false。
// $redis->zScore('sorted', 'math');
// //返回有序集中指定成员元素的大小排名,按分数值递增排序。分数值最小者排名为0。
// $redis->zRank('sorted', 60);
// //返回有序集中指定成员元素的排名,按分数值递减排序。分数值最大者排名为0。
// $redis->zRevRank('sorted', 70);
// //删除有序集中的一个或多个成员,忽略不存在的成员。返回删除的元素个数。
// $redis->zRem('sorted', 'chemistry', 'English');
// //删除有序集中指定排名区间的所有成员,返回删除元素个数
// $redis->zRemRangeByRank('sorted', 0, 2);
// //删除有序集中指定分数值区间的所有成员,返回删除元素的个数
// $redis->zRemRangeByScore('sorted', 80, 90);
// //对有序集中指定成员的分数值增加指定增量值。若为负数则做减法,若有序集不存在则先创建,若有序集中没有对应成员则先添加,最后再操作。
// $redis->zIncrBy('sorted', 2, 'Chinese');
// //计算给定一个或多个有序集的交集,元素相加,并将其存储到目的有序集中
// $redis->zinterstore('zset3',['sorted','sorted1']);
// //计算给定一个或多个有序集的并集,元素相加,并将其存储到目的有序集中
// $redis->zunionstore('zset3',['sorted', 'sorted1']);
(PHP)redis Zset(有序集合 sorted set)操作的更多相关文章
- python 操作redis之——有序集合(sorted set) (七)
#coding:utf8 import redis r =redis.Redis(host=") 1.Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中.如果某个成员已经是有序 ...
- (六)Redis有序集合Sorted set操作
Sorted set全部命令如下: zadd key score1 member1 score2 member2 ... # 将一个或多个member元素及其score值加入到有序集合key当中 z ...
- Redis ZSet 有序集合
有序集合类型与集合类型的区别就是他是有序的.有序集合是在集合的基础上为每一个元素关联一个分数,这就让有序集合不仅支持插入,删除,判断元素是否存在等操作外,还支持获取分数最高/最低的前N个元素.有序集合 ...
- Redis 有序集合(sorted set),发布订阅,事务,脚本,连接,服务器(三)
Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...
- 聊聊Mysql索引和redis跳表 ---redis的有序集合zset数据结构底层采用了跳表原理 时间复杂度O(logn)(阿里)
redis使用跳表不用B+数的原因是:redis是内存数据库,而B+树纯粹是为了mysql这种IO数据库准备的.B+树的每个节点的数量都是一个mysql分区页的大小(阿里面试) 还有个几个姊妹篇:介绍 ...
- php使用redis的有序集合zset实现延迟队列
延迟队列就是个带延迟功能的消息队列,相对于普通队列,它可以在指定时间消费掉消息. 延迟队列的应用场景: 1.新用户注册,10分钟后发送邮件或站内信. 2.用户下单后,30分钟未支付,订单自动作废. 我 ...
- redis(十四):Redis 有序集合(sorted set)
Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...
- Redis 有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序 ...
- redis:order set有序集合类型的操作(有序集合)
1. order set有序集合类型的操作(有序集合) 有序集合是在无序集合的基础上加了一个排序的依据,这个排序依据叫score,因此声明一个集合为有序集合的时候要加上score(作为排序的依据) 1 ...
随机推荐
- 关于字符,字节与base64编码的理解
字符是用来显示的,如中文字符,英文字符,其类型我字符(串)类型: 字节是用来存储的,一个字节为8bit.由于字节是8位,无法对中文编码,因此诸如a=b'中文'的写法是错误的.但英文标点数字是可以的,如 ...
- codeforces 707B B. Bakery(水题)
题目链接: B. Bakery 题意: 是否存在一条连接特殊和不特殊的边,存在最小值是多少; 思路: 扫一遍所有边: AC代码: #include <iostream> #include ...
- Post提交和Get提交的区别
表单提交中get和post的区别 1. get: 把表单内各个字段均显示在URL中. post:把表单内各个字段和内容放在html的header内一起传递给action所指的url,用户看不到. 2. ...
- 【LeetCode】013. Roman to Integer
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...
- OIer应该知道的二进制知识
计算机使用\(2\)进制,这是众所周知的.在学习\(OI\)的过程中,\(2\)进制也显得尤为重要.有时候,细节决定成败,所以我想总结一下容易被遗忘和误解的关于\(2\)进制的知识. 1.运算符 &a ...
- C#如何对DataTable中的数据进行条件搜索
经常遇到将数据库中的数据读取到DataTable中的时候再次对DataTable进行条件筛选,下面的筛选的一个例子: DataRow[] dr = dt.Select("token = '& ...
- Poj1012_Joseph
一.Description The Joseph's problem is notoriously known. For those who are not familiar with the ori ...
- [转]unity3d中创建双面材质
在其它三维软件中设置好的双面材质导入到unity3d中就失去了效果,不过我们可以通过自定义材质来在unity3d中实现双面材质的效果.步骤如下:1.在资源库中新建一新shader:代码如下: Shad ...
- AD9 如何画4层pcb板
新建的PCB文件默认的是2层板,教你怎么设置4层甚至更多层板. 在工具栏点击Design-->Layer Stack Manager.进入之后显示的是两层板,添加为4层板,一般是先点top la ...
- Spring MVC配置详解(3)
一.Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar.spring-webmvc.ja ...