redis稍微高级一点的操作

字符串

字符串可以存三种类型的值:字节串,整数,浮点数

redis中自增命令和自减命令

命令用例和描述
incrincr key-name 将键存储的值加1
descdesc key-name 将键存储的值减1
incrbyincrby key-name amount 加上amount数
descbydescby key-name amount 减去amount数
incrbyfloatincrbyfloat key-name amount 加上浮点数amount

如果用户对不存在的键或者保存了空串的键执行自增或自减,那么在执行时会将这个键当做0处理。
如果用户尝试对一个值无法解释成整数或者浮点数的字符串执行自增或自减操作,那么redis会返回一个错误。

供redis处理字符串和二进制位的命令

命令用例和描述
appendappend key value 将value值追加到key存储的值后面
getrangegetrange key start end 或者从start到end的、范围内的字符组成,【闭区间】
setrangesetrange key offset value 从offset偏移量开始得值设置为value
getbitgetbit key offset 将字符串看做是二进制位串
setbitsetbit key offset value 同上
bitcountbitcount key [start end] 统计二进制位串里为1的位的数量
bitopbitop operation dest-key key-name [key-name …] 对一个或多个二进制位串执行包括并(AND),或(OR),异或(XOR),非(NOT)在内的任意一种按位操作(bitwise operation)。并将计算的结果保存在dest-key键里

列表

一些常用的列表命令

命令用例和描述
rpushrpush key value [value …] 从右端推入
lpushlpush key value [value …] 从左端推入
rpoprpop key 从右端弹出
lpoplpop key 从左端弹出
lindexlindex key offset 返回offset偏移量处的元素
lrangelrange key start end 返回start和end之间的元素,【闭区间】
ltrimltrim key start end 对列表进行修剪,只保留start偏移量到end偏移量范围内的元素,包括start,end也会被保留

阻塞式列表弹出和列表之间移动

命令用例和描述
blpopblpop key [key …] timeout 从第一个非空列表中弹出左端的元素,或者在timeout秒之内阻塞并等待可弹出的元素,【最多只弹出一个元素】
brpopbrpop key [key …] timeout 同上
rpoplpushrpoplpush source dest 从source的右端弹出元素,并把这个元素推入dest的左端
brpoplpushbrpoplpush source dest timeout 同上,如果source为空,则在timeout秒内阻塞并等待课弹出元素的出现

集合

一些常用命令

命令用例和描述
saddsadd key item [item …] 增加,不解释
sremsrem key item [item …] 删除,不解释
sismembersismember key item 检查item是否存在于key中
scardscard key 返回集合的元素的数量
smemberssmembers key 返回集合的所有元素
srandmembersrandmember key [count] 从集合中随机的返回一个或多个元素【count的绝对值】。当count为正数时,命令返回的随机元素不会重复;当count为负数时,返回的随机元素可能会出现重复
spopspop key 随机的移除一个元素,并返回这个元素
smovesmove source dest item 如果source包含item,那么从source中删除,并将这个元素加入到dest中;如果item被成功移除,返回,否则返回0

用于组合和处理多个集合的命令

命令用例和描述
sdiffsdiff key [key ..] 返回那些存在于第一个集合,但不存在于其他集合中的元素【差集运算】
sdiffstoresdiffstore dest-key key [key …] 同上,并把结果存储在dest-key中
sintersinter key [key …] 返回那些同时存在于所有集合中的元素【交集运算】
sinterstoresinterstore dest-key key [key …] 不解释了哈
sunionsunion key [key …] 返回那些至少存在于一个集合中的元素【并集运算】
sunionstoresunionstore dest-key key [key …] 不解释

散列hash

命令用例和描述
hmgethmget key-name key [key …] 从散列中取出多个键的值,hget的多参数版本
hmsethmset key-name key value [key value …] 同时设置多个键值对,hset的多参数版本
hdelhdel key-name key [key …] 同时删除多个键值对,返回成功删除的键值对数量
hlenhlen key-name 返回散列包含的键值对的数量
hexistshexists key-name key 检查是否存在于散列中
hkeyshkeys key-name 返回所有键
hvalshvals key-name 返回所有值
hgetallhgetall key-name 返回所有键值对
hincrbyhincrby key-name key incement 将key保存的值加上increment
hincrbyfloatnincrbyfloat key-name key increment 不解释

有序集合zset

基本操作

命令用例和描述
zaddzadd key-name score member [score member …]
zremzrem key-name member [member …]
zcardzcard key-name 返回成员数量
zincrbyzincrby key-name incrment member 为member成员的分值加上increment
zcountzcount key-name min max 返回分值介于min和max之间的成员数量
zrankzrank key-name member 返回成员的排名
zscorezscore key-name member 返回成员的分值
zrangezrange key-name start stop [withscores] 返回排名介于start和stop之间的成员,[withscores]意味着成员的呢分组也一起返回

有序集合的范围型数据获取和删除命令,以及并集命令和交集命令

命令用例和描述
zrevrankzrevrank key-name member 返回排名,从大到小排序
zrevrangezrevrange key-name start stop [withscore] 返回排名介于start和stop之间的成员,从大到小排序
zrangebyscorezrangebyscore key-name min max [withscore] [limit offset count] 返回有序集合中,分值介于min和max中所有的成员
zrevrangebyscore同上,从大到小排序
zremrangebyrankzremrangebyrank key-name start stop 删除所有排名介于start和stop之间的成员
zremrangebyscorezremrangebyscore key-name min max 删除分值介于min和max之间的成员
zinterstore不了解,下次分享
zunionstore不了解,下次分享
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值