(三)Redis命令
本章主要内容
- 字符串命令、列表命令和集合命令
- 散列命令和有序集合命令
- 发布命令与订阅命令
- 其他命令
3.1 字符串
Redis的字符串就是一个由字节组成的序列。在 Redis 里面,字符串可以存储三种类型的值。
- 字符串
- 整数
- 浮点数
- 当用户将一个值存储到Redis字符串里面的时候,如果这个值可以被解释为十进制整数或者浮点数,那么Redis将会允许用户对这个字符串执行
INCR
和DECR
操作。 - 如果用户对一个不存在的键或者一个保存了空串的键执行自增或者自减操作,那么Redis在执行操作时会将这个键的值当作是0来处理。
- 如果用户尝试对一个值无法被解释为整数或者浮点数的字符串键执行自增或者自减操作,那么Redis将向用户返回一个错误。
- 在使用
SETRANGE
或者SETBIT
命令对字符串进行写入的时候,如果字符串当前的长度不能满足写入的要求,那么Redis会自动的使用空字节来将字符串扩展至所需的长度,然后才进行写入或者更新操作。 - 在使用
GETRANGE
读取字符串的时候,超出字符串末尾的数据会被视为空串,而在使用GETBIT
读取二进制位串时,超出字符串的末尾的二进制位会被视为是0。
3.2 列表
Redis列表允许用户从序列的两端推入或者弹出元素,获取列表元素,以及执行各种常见的列表操作。除此之外,列表还可以用来存储任务信息、最近浏览过的文章或者常用联系人信息。
组合使用LTRIM
和LRANGE
可以构建出一个在功能上类似于LPOP
或RPOP
,但是却能够一次返回并弹出多个元素的操作。
有几个列表命令可以将元素从一个列表移动到另一个列表,或者阻塞执行命令的客户端直到有其他客户端给列表添加元素为止。
3.3 集合
Redis集合以无序的方式来存储多个各不相同的元素,用户可以快速地对集合执行添加元素操作、移除元素操作、移除元素操作以及检查一个元素是否存在于集合里。
组合和关联多个集合
这些命令分别是并集运算、交集运算和差集运算这3个基本集合的操作的“返回结果”版本和“存储结果”版本。
3.4 散列
Redis的散列可以让用户将多个键值对存储到一个Redis键里面。
HSET
和HGET
命令分别是HMGET
和HMSET
命令的单参数版本,这些命令的唯一区别在于单参数版本每次执行只能处理一个键值对,而多参数版本每次执行可以处理多个键值对。
3.5 有序集合
有序集合也存储着成员与分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序地获取或扫描成员和分值的命令。
3.6 发布与订阅
发布与订阅的特点是订阅者负责订阅频道、发送者负责向频道发送二进制字符串消息,每当有消息被发送至给定频道时,频道的所有订阅者都会收到消息。我们也可以把频道看作是电台,其中订阅者可以同时收多个电台,而发送者则可以在任何电台发送消息。