Redis 命令

Redis 命令

字符串命令

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

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

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

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

数值自增,自减

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

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

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

字符串子串和二进制位

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

这里写图片描述

这里写图片描述

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

在使用 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

这里写图片描述
这里写图片描述

命令行为参数
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

这里写图片描述
这里写图片描述
timeout为0时,持续阻塞直到有可弹出元素
这里写图片描述
这里写图片描述
这里写图片描述

集合命令

命令行为参数
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

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

组合和处理多个集合

命令行为参数
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 …]

这里写图片描述

散列

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

这里写图片描述
这里写图片描述

更高级特性

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

这里写图片描述
这里写图片描述

有序集合命令

命令行为参数
ZADD将带有分值的成员添加到有序集合中ZADD key [NX
ZREM从有序集合中移除给定成员,并返回被移除成员的数量ZREM key member [member …]
ZCARD返回有序集合包含的成员数量ZCARD key
ZINCRBY将member 的成员的分值加上 incrementZINCRBY 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]

这里写图片描述
这里写图片描述
这里写图片描述

高级特性

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] [

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值