本章以及下面几章将介绍一些第一章没有出现过的常用命令,学习这些命令有助于构建更为复杂的应用。
字符串(STRING)
在Redis中字符串可以存储以下三种类型的值:
- 字节串(byte string)
- 整数
- 浮点数
可以通过给定一个任意的数值,对存储这整数或者浮点数的字符串执行自增或者自减操作,下面列举一下相关命令并测试:
命令 | 描述 |
---|---|
INCR | 将键存储的值加上1 |
DECR | 将键存储的值减去1 |
INCRBY | 将键存储的值加上指定整数 |
DECRBY | 将键存储的值减去指定整数 |
INCRBYFLOAT | 将键存储的值加上指定浮点数 |
|
|
除了自增、自减操作之外,Redis还拥有对字节串的其中一部分内容进行读取或写入的操作,下面列举处理字符串和二进制的命令并测试:
命令 | 描述 |
---|---|
APPEND | 将值追加到给定键当前存储的值的末尾 |
GETRANGE | 获取一个由偏移量start至end范围内所有的字符组成的子串,包含start和end |
SETRANGE | 将从偏移量start开始的子串设置为给定值 |
GETBIT | 将字节串看作是二进制位串,并返回指定偏移量的二进制位的值 |
SETBIT | 将字节串看作是二进制位串,并设置指定偏移量的二进制位的值 |
BITCOUNT | 统计二进制位串里面值为1的二进制位的数量 |
BITOP | 位运算操作 |
|
|
列表(LIST)
先列一些基本的常用命令,有些第一章已经接触过了,再回顾下:
命令 | 描述 |
---|---|
RPUSH | 将一个或多个值推入列表的右端 |
LPUSH | 将一个或多个值推入列表的左端 |
RPOP | 移除并返回最右端的元素 |
LPOP | 移除并返回最左端的元素 |
LINDEX | 返回列表中指定偏移量的元素 |
LRANGE | 返回列表中指定偏移量范围的元素,包含首尾 |
LTRIM | 对列表进行修改,保留指定偏移量范围的元素,包含首尾 |
|
|
有几个命令可以将元素从一个列表移动到另一个列表,或者阻塞执行命令的客户端,知道有其他客户端给列表添加元素为止:
命令 | 描述 |
---|---|
BLPOP | 从第一个非空列表中弹出最左端元素,或者在指定时间内阻塞并等待可弹出元素出现 |
BRPOP | 从第一个非空列表中弹出最右端元素,或者在指定时间内阻塞并等待可弹出元素出现 |
RPOPLPUSH | 从列表中弹出最右端元素,然后将弹出的元素推入到目标列表的最左端,并返回这个元素 |
BRPOPLPUSH | 从列表中弹出最右端元素,然后将弹出的元素推入到目标列表的最左端,并返回这个元素;或者在指定时间内阻塞并等待可弹出元素出现 |
|
|
集合(SET)
命令 | 描述 |
---|---|
SADD | 将元素添加到集合中,返回该元素在集合中的数量 |
SREM | 从集合中删除元素,返回被删除元素的数量 |
SISMEMBER | 检查元素是否存在于集合中 |
SCARD | 返回集合中包含给定元素的数量 |
SMEMBERS | 返回集合包含的所有元素 |
SRANDOMEMBER | 从集合里随机返回一个或多个元素 |
SPOP | 随机地移除集合中的一个元素,并返回被删除的元素 |
SMOVE | 将集合中的一个元素移除到另一个集合,返回是否成功 |
|
|
集合真正厉害的地方在于组合关联多个集合,下面列举并测试:
命令 | 描述 |
---|---|
SDIFF | 返回存在于第一个集合,但不存在于其他集合中的元素 |
SDIFFSTORE | 将存在于第一个集合,但不存在于其他集合中的元素存储到给定key中 |
SINTER | 返回同时存在所有集合中的元素 |
SINTERSTORE | 将同时存在于所有集合的元素存储到给定key中 |
SUNION | 返回至少存在于一个集合中的元素 |
SUNIONSTORE | 将至少存在于一个集合的元素存储到给定key中 |
|
|
下一章将继续学习Redis其他数据结构的命令。