Redis 命令

字符串命令

Redis字符串是一个由字节组成的序列。
字符串可以存储三种类型的值:
1. 字节串
2. 整数
3. 浮点数

用户可以通过给定一个数值,对存储的整数或浮点数的字符串执行自增或自减操作。

在有需要的时候,Redis 还会将整数转换为浮点数。

Redis 明确地区分字节串、整数和浮点数的做法,使得Redis 在数据表现方面更具灵活性。

数值自增,自减

命令 行为 参数
INCR 将键存储的数值 + 1 INCR key
DECR 将键存储的数值 - 1 DECR key
INCRBY 将键存储的值加上整数 count INCRBY key count
DECRBY 将减存储的值减去整数 count DECRBY key count
INCRBYFLOAT 将减存储的值加上浮点数 amount INCRBYFLOAT key count

当一个值被存储到 Redis 字符串中时,如果这个值可以被解释为十进制整数或浮点数,那么 Redis 才会允许对这个字符串执行数自增、自减操作。
如果对一个不存在的键或者保存了空串的键执行自增或自减,那么 Redis 在执行操作时会将这个键当作 0 来处理。
如果对一个无法被解释为整数或者浮点数的字符串执行自增、自减操作,那么将返回一个错误。

在这里我们使用 Python 和 Redis 进行交互
Redis 命令
我们调用 incr() 而不是 INCRBY 是因为,Python的 Redis 库在内部使用 INCRBY 命令来实现 incr()方法,并且第二参数是可选的,如果没有第二个参数,那么默认为 1。
DEL: 由于del是python语法关键字,所用delete来代替。

字符串子串和二进制位

命令 行为 参数
APPEND 将 value 追加到给定键的值的末尾 APPEND key value
GETRANGE 获取一个在偏移量范围内所有字符组成的字串,包括 start 和 end GETRANGE key start end
SETRANGE 从 offset 开始的字串设置为给定值 SETRANGE key offset value
GETBIT 将字串看作是二进制制位串,并返回偏移量为 offset 的二进制位的值 GETBIT key offset
SETBIT 将字串看作是二进制制位串,并将位串中偏移量为 offset 的二进制位设置为 value SETBIT key offset value
BITCOUNT 统计二进制位串中值为1的二进制位的数量,如果给定了 start 和 end 则进行范围统计 BITCOUNT key [start end]
BITOP 对一个或多个二进制位串执行合并、或、异或、非在内的任意一种按位运算操作,并将结果放在 destkey 中 BITOP operation destkey key [key …]

Redis 命令

Redis 命令

在这里,所谓的二进制位串,其实就是对应字符的ASCII码,1 的 ASCII 是 49,对应的二进制为 110001,所以统计 bitcount 的结果是 3,然后我们将下标为 1 的位置 1 ,并返回被设置前的值。
Redis 命令
Redis 命令

在使用 SETRANGE 或 SETBIT 时,如果字符串当前的长度不能满足,则先使用空字节来将字符串扩展至所需长度,然后再执行写入或更新操作。

列表命令

命令 行为 参数
RPUSH 将一个或多个值推入列表的右端 RPUSH key value [value…]
LPUSH 将一个或多个值推入列表的左端 LPUSH key value [value…]
RPOP 移除并返回列表最右端的值 RPOP key
LPOP 溢出并返回列表最左端的值 LPOP key
LINDEX 返回列表中下标为 index 的元素 LINDEX key index
LRANGE 返回列表从 start 到 stop 范围内的所有元素 LRANGE key start stop
LTRIM 阶段列表,只保留 start 到 stop 范围内的元素 LTRIM key start stop

Redis 命令
Redis 命令

命令 行为 参数
BLPOP 从第一个非空列表中弹出位于最左端的元素,或在 timeout 秒内阻塞并等待可弹出的元素出现 BLPOP key [key …] timeout
BRPOP 从第一个非空列表中弹出位于最右端的元素,或在 timeout 秒内阻塞并等待可弹出的元素出现 BRPOP key [key …] timeout
RPOPLPUSH 从 source 列表中弹出位于最右端的元素,然后推入 dest 列表的最左端,并返回此元素 RPOPLPUSH source destination
BRPOPLPUSH 从 source 列表中弹出位于最右端的元素,然后推入 dest 列表的最左端,并返回此元素,,如果 source为空,那么在 tiemout 秒之内阻塞并等待可弹出的元素 RPOPLPUSH source destination timeout

Redis 命令
Redis 命令
timeout为0时,持续阻塞直到有可弹出元素
Redis 命令
Redis 命令
Redis 命令

集合命令

命令 行为 参数
SADD 将一个或多个元素添加到集合中,并返回被添加元素当中原本并不存在于集合中的元素数量 SADD key member [member …]
SREM 从集合中移除一个或多个元素,并返回被移除元素数量 SREM key member [member …]
SISMEMBER 检查元素 member 是否存在于集合 key 中 SISMEMBER key member
SCARD 返回集合包含元素的数量 SCARD key
SMEMBERS 返回集合包含的所有元素 SMEMBERS key
SRANDMEMBER 从集合里面随机的返回 conut 个元素,当 count 为整数时,命令返回的随机元素不重复,当 count 为负数时,随机元素可能会出现重复 SRANDMEMBER key [count]
SPOP 随机的移除集合中的一个元素,并返回被移除的元素 SPOP key [count]
SMOVE 如果集合 source 包含元素 member,那么从集合 source 中移除 member,并将元素 member 添加到集合 dest 中 SMOVE source destination member

Redis 命令
Redis 命令
Redis 命令
Redis 命令
Redis 命令

组合和处理多个集合

命令 行为 参数
SDIFF 返回存在于第一个集合,但不存在于其他集合中的元素,差集 SDIFF key [key …]
SDIFFSETORE 将存在于第一个集合但不存在于其他集合中的元素存储到 dest 中 SDIFFSTORE destination key [key …]
SINTER 返回同时存在于所有集合中的元素,并集 SINTER key [key …]
SINTERSTORE 同上 SINTERSTORE destination key [key …]
SUNION 返回哪些至少存在于一个集合中的元素,并集 SUNION key [key …]
SUNIONSTORE 同上 SUNIONSTORE destination key [key …]

Redis 命令

散列

命令 行为 参数
HMGET 从散列中获取一个或多个值 HMGET key field [field …]
HMSET 为散列里面的一个或多个键设置值 HMSET key field value [field value …]
HDEL 删除散列米中的一个或多个键值对,返回成功找到并删除的键值对数量 HDEL key field [field …]
HLEN 返回散列包含的键值对数量 HLEN key

Redis 命令
Redis 命令

更高级特性

命令 行为 参数
HEXISTS 判断给定的键是否存在于散列中 HEXISTS key field
HKEYS HKEYS key 获取散列包含的所有键
HVALS HVALS key 获取散列包含的所有值
HGETALL HGETALL key 获取散列包含的所有键值对
HINCRBY 将键 filed 存储的值加上 increment HINCRBY key field increment
HINCRBYFLOAT 同上,不过加的是浮点数 HINCRBYFLOAT key field increment

Redis 命令
Redis 命令

有序集合命令

命令 行为 参数
ZADD 将带有分值的成员添加到有序集合中 ZADD key [NX
ZREM 从有序集合中移除给定成员,并返回被移除成员的数量 ZREM key member [member …]
ZCARD 返回有序集合包含的成员数量 ZCARD key
ZINCRBY 将member 的成员的分值加上 increment ZINCRBY key increment member
ZCOUNT 返回分值介于 min 和 max 之间的成员数量 ZCOUNT key min max
ZRANK 返回成员 member 在有序集合中的排名 ZRANK key member
ZSCORE 返回成员 member 的分值 ZSCORE key member
ZRANGE 返回有序集合中排名在 start – stop 之间的成员 ZRANGE key start stop [WITHSCORES]

Redis 命令
Redis 命令
Redis 命令

高级特性

ZREVRANK 返回有序集合成员排名,从大到小排列 ZREVRANK key member
ZRAVERANGE 返回返回为内的成员,从大到小排列 ZREVRANGE key start stop [WITHSCORES]
ZRANGEBYSCORE 分值介于 min 和 max 之间的所有成员 ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
ZRMERANGEBYSCORE 移除分值介于 min 和 max 之间的所有成员 ZREMRANGEBYSCORE key min max
ZREMRANGEBYRANK 移除排名介于 start 和 stop 之间的所有成员 ZREMRANGEBYRANK key start stop
ZINTERSTORE 对给定的有序集合执行类似于集合的交集运算 ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight] [
ZUNIONSTORE 对给定的有序集合执行类似集合的并集运算 ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight] [

Redis 命令
Redis 命令
Redis 命令
Redis 命令

相关文章:

  • 2021-10-04
猜你喜欢
  • 2022-12-23
  • 2021-11-18
  • 2022-02-23
  • 2021-12-05
  • 2021-04-24
  • 2022-01-21
相关资源
相似解决方案