书接上文
http://blog.chinaunix.net/uid-31422160-id-5818642.html
5. 有序集合
和散列存储着键值对的映射类似,有序集合也存储着成员与分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序地获取或扫描成员的分值的命令。
基础命令
命令
|
用例和描述
|
ZADD
|
ZADD key-name score member [score member ...]——将带有一定分值的成员添加到有序集合里面
|
ZREM
|
ZREM key-name member [member ...]——从有序结合里面移除给定的成员,并返回被移除的成员的数量
|
ZCARD
|
ZCARD key-name——返回有序集合包含的成员数量
|
ZINCRBY
|
ZINCRBY key-name increment member——将member成员的分值加上increment
|
ZCOUNT
|
ZCOUNT key-name min max —— 在min和max之间的成员的数量
|
ZRANK
|
ZRANK key-name member——返回成员member在有序集合中的排名
|
ZSCORE
|
ZSCORE key-name member——返回成员member的分值
|
ZRANGE
|
ZRANGE key-name start stop [WITHSCORES]——返回有序集合中排名介于start和stop之间的成员,如果给定了WITHSCORES选项,那么命令会将成员的分值也一并返回
|
进阶命令
命令
|
用例和描述
|
ZREVRANK
|
ZREVRANK key-name member——返回有序集合里成员member的排名,成员按照分值从大到小排列
|
ZREVRANGE
|
ZREVRANGE key-name start stop [WITHSCORES]——返回有序集合给定排名范围内的成员,按照分值从大到小排列
|
ZRANGEBYSCORE
|
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]——获取有序集合中分值介于min和max之间的所有成员
|
ZREVRANGEBYSCORE
|
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]——获取有序集合中分值介于min和max之间的所有成员,并按照分值从大到小的顺序来返回
|
ZREMRANGEBYRANK
|
ZREMRANGEBYRANK key-name start stop——移除有序集合中排名介于start和stop之间的所有成员
|
ZREMRANGEBYSCORE
|
ZREMRANGEBYSCORE key-name min max——移除有序集合中分值介于sart和stop之间的所有成员
|
ZINTERSTORE
|
ZINTERSTORE dest-key key-count key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]——对给定的有序集合执行类似于集合交集运算
|
ZUNIONSTORE
|
ZUNIONSTORE dest-key key-count key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]——对给定的有序集合执行类似于集合的并集运算
|
6. 发布与订阅
命令
|
用例和描述
|
SUBSCRIBE
|
SUBSCRIBE channel [channel ...]——订阅给定的一个或多个频道
|
UNSUBSCRIBE
|
UNSUBSCRIBE [channel [channel ...]]——退订给定的一个或多个频道,如果执行时没有给定任何频道,那么退订所有频道
|
PUBLISH
|
PUBLISH channel message——向给定频道发送消息
|
PSUBSCRIBE
|
PSUBSCRIBE pattern [pattern ...]——订阅与给定模式相匹配的所有频道
|
PUNSUBSCRIBE
|
PUNSUBSCRIBE [pattern [pattern ...]]——退订给定的模式,如果执行时没给定任何模式,那么退订所有模式
|
7. 基本redis事务
可以让一个客户端在不被其他客户端打断的情况下执行多个命令。和关系型数据库那种可以回滚的事务不同,redis基本事务中的明林归一个接一个的执行,知道所有命令都执行完毕为止。当一个事务执行完毕之后,redis才会处理其他客户端的命令。
redis的基本事务需要用到MULTI和EXEC命令,形式为先执行MULTI命令,然后输入想要在事务里面执行的命令,最后再执行EXEC命令。在执行EXEC之前,redis会将所有的命令放在一个队列里面,直到EXEC出现,才会在不被打断的情况下,一个接一个的执行存储在队列里面的命令
8. 用于处理过期时间的redis命令
命令
|
用例和描述
|
PERSIST
|
PERSIST key-name——移除键的过期时间
|
TTL
|
TTL key-name——查看给定键距离过期还有多少秒
|
EXPIRE
|
EXPIRE key-name seconds——让给定键在指定的秒数之后过期
|
EXPIREAT
|
EXPIREAT key-name timestamp——将给定键的过期时间和这位给定的UNIX时间戳
|
PTTL
|
PTTL key-name——查看给定键距离过期时间还有多少毫秒
|
PEXPIRE
|
PEXPIRE key-name milliseconds——指定毫秒数后过期
|
PEXPIREAT
|
PEXPIREAT key-name timestamp-milliseconds——将一个毫秒级精度的UNIX时间超设置为给定键的过期时间
|
关于redis的基本命令就先介绍到这,之后再月度源码的过程中,如果遇到命令,也会讲解一下,只不过没有这两篇这么系统了,大家见谅~~~
阅读(6226) | 评论(0) | 转发(0) |