有序集合
和散列存储着键值对的映射类似,有序集合也存储着成员与分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序地获取或扫描成员的分值的命令。
基础命令
命令用例和描述
ZADDZADD key-name score member [score member ...]——将带有一定分值的成员添加到有序集合里面
ZREMZREM key-name member [member ...]——从有序结合里面移除给定的成员,并返回被移除的成员的数量
ZCARDZCARD key-name——返回有序集合包含的成员数量
ZINCRBYZINCRBY key-name increment member——将member成员的分值加上increment
ZCOUNTZCOUNT key-name min max —— 在min和max之间的成员的数量
ZRANKZRANK key-name member——返回成员member在有序集合中的排名
ZSCOREZSCORE key-name member——返回成员member的分值
ZRANGEZRANGE key-name start stop [WITHSCORES]——返回有序集合中排名介于start和stop之间的成员,如果给定了WITHSCORES选项,那么命令会将成员的分值也一并返回
进阶命令
命令用例和描述
ZREVRANKZREVRANK key-name member——返回有序集合里成员member的排名,成员按照分值从大到小排列
ZREVRANGEZREVRANGE key-name start stop [WITHSCORES]——返回有序集合给定排名范围内的成员,按照分值从大到小排列
ZRANGEBYSCOREZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]——获取有序集合中分值介于min和max之间的所有成员
ZREVRANGEBYSCOREZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]——获取有序集合中分值介于min和max之间的所有成员,并按照分值从大到小的顺序来返回
ZREMRANGEBYRANKZREMRANGEBYRANK key-name start stop——移除有序集合中排名介于start和stop之间的所有成员
ZREMRANGEBYSCOREZREMRANGEBYSCORE key-name min max——移除有序集合中分值介于sart和stop之间的所有成员
ZINTERSTOREZINTERSTORE dest-key key-count key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]——对给定的有序集合执行类似于集合交集运算
ZUNIONSTOREZUNIONSTORE dest-key key-count key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]——对给定的有序集合执行类似于集合的并集运算
6. 发布与订阅
命令用例和描述
SUBSCRIBESUBSCRIBE channel [channel ...]——订阅给定的一个或多个频道
UNSUBSCRIBEUNSUBSCRIBE [channel [channel ...]]——退订给定的一个或多个频道,如果执行时没有给定任何频道,那么退订所有频道
PUBLISHPUBLISH channel message——向给定频道发送消息
PSUBSCRIBEPSUBSCRIBE pattern [pattern ...]——订阅与给定模式相匹配的所有频道
PUNSUBSCRIBEPUNSUBSCRIBE [pattern [pattern ...]]——退订给定的模式,如果执行时没给定任何模式,那么退订所有模式
7. 基本redis事务
可以让一个客户端在不被其他客户端打断的情况下执行多个命令。和关系型数据库那种可以回滚的事务不同,redis基本事务中的明林归一个接一个的执行,知道所有命令都执行完毕为止。当一个事务执行完毕之后,redis才会处理其他客户端的命令。
redis的基本事务需要用到MULTI和EXEC命令,形式为先执行MULTI命令,然后输入想要在事务里面执行的命令,后再执行EXEC命令。在执行EXEC之前,redis会将所有的命令放在一个队列里面,直到EXEC出现,才会在不被打断的情况下,一个接一个的执行存储在队列里面的命令
8. 用于处理过期时间的redis命令
命令用例和描述
PERSISTPERSIST key-name——移除键的过期时间
TTLTTL key-name——查看给定键距离过期还有多少秒
EXPIREEXPIRE key-name seconds——让给定键在指定的秒数之后过期
EXPIREATEXPIREAT key-name timestamp——将给定键的过期时间和这位给定的UNIX时间戳
PTTLPTTL key-name——查看给定键距离过期时间还有多少毫秒
PEXPIREPEXPIRE key-name milliseconds——指定毫秒数后过期
PEXPIREATPEXPIREAT key-name timestamp-milliseconds——将一个毫秒级精度的UNIX时间超设置为给定键的过期时间
关于redis的基本命令就先介绍到这,之后再月度源码的过程中,如果遇到命令,也会讲解一下,只不过没有这两篇这么系统了,大家见谅~~~