redis五种数据类型及常用命令

1. String(key-value)

  • set key value 添加/修改数据
  • get key 获取数据
  • del key 删除数据
  • mset key1 value1 key2 value2... 设置多个键值数据
  • mget key1 key2... 获取多个数据
  • strlen key 字符串长度
  • append key value 追加信息,没有则新建
  • getset 获得原始key的值,同时设置新值
  • incr key 字符串数值+1运算
  • decr key 字符串数值-1运算
  • setex 设置有效期(秒)的数据
  • psetex 设置有效期(毫秒)的数据
  • setnx 存在不做操作,不存在添加
  • incrby 加法操作
  • decrby 减法操作

2.Hash(哈希)

  • hset key field value 设置hash类型值
  • hget key field 获取key下field的值
  • hsetnx hsetnx key field value 如果key对应的field不存在,则赋值,存在时什么都不做
  • hmset key field1 v1 field2 v2... 设置多个field,值存在就替换
  • hmget key field1 ... 获取key的多个field
  • hgetall key 获取key下的所有field和value
  • hkeys key 获取key对应的所有field
  • hvals key 获取key对应的所有value
  • hincrby key field 2 增减数值
  • hdel key field1 f2... 删除key对应的filed的值,field可以写多个
  • hlen key 返回指定key的field数量
  • hexists key field key下的field是否存在

3.List(列表)

  • rpush key value [value …] 向队列右边添加元素
  • lpush key value [value …] 向队列左边添加元素
  • rpop key 从list的右边(尾部)删除元素并同时返回删除的值
  • lpop key 从list的左边(头部)删除元素并同时返回删除的值
  • lrange key start stop 获取队列范围内的元素
  • linsert key BEFORE|AFTER pivot value 向指定集合key中元素前或者后插入新元素
  • lrem key count value 左边移除队列中元素,指定移除个数和要移除的值
  • rpoplpush key1 key2 从源list的尾部元素删除并插入到目标list的头部
  • llen key 返回指定集合的元素个数

4.Set(集合)

  • sadd key member [member …] 添加若干指定元素member到key集合中
  • spop key [count] 随机移除元素
  • srem key member [member … ] 移除指定元素,并返回成功移除元素个数
  • scard key 返回指定集合key中的元素数
  • sismember key member 返回集合key中是否存在指定元素member
  • smembers key 返回集合key的所有元素
  • srandmember key [count] 随机返回集合key中的一个元素,或随机返回集合key中的count的元素
  • smove source destination member 将指定元素member从集合source中移动到集合destination中
  • sinter key [key …] 返回所有指定集合中元素的交集
  • sinterstore destination key [key …] 返回所有指定集合中元素的交集,并将结果保存在集合destination中
  • sunion key [key …] 返回所有指定集合中元素的并集
  • sunionstore destination key [key …] 返回所有指定集合中元素的并集,并将结果保存在集合destination中
  • sdiff key [key …] 返回一个集合与其余指定集合的差集
  • sdiffstore destination key [key …] 返回一个集合与其余指定集合的差集,并将结果保存在集合destination中

5.ZSet(有序集合)

  • zadd key score member[{score member}…]
    创建或设置指定key对应的有序集合,根据每个值对应的score来排名,升序。例如有命令 zadd key1 10 A 20 B 30 D 40 C;那么真实排名是 A B D C
  • zrem key member 删除指定key对应的集合中的member元素
  • zcard key 返回指定key对应的有序集合的元素数量
  • zincrby key increment member 将指定key对应的集合中的member元素对应的分值递增加 increment
  • zcount key min max 返回指定key对应的有序集合中,分值在min~max之间的元素个数
  • zrank key member 返回指定key对应的有序集合中,指定元素member在集合中排名,从0开始切分值是从小到大升序
  • zscore key member 返回指定key中的集合中指定member元素对应的分值
  • zrange key min max [withscores] 返回指定key对应的有序集合中,索引在min~max之间的元素信息,如果带上 withscores 属性的话,可以将分值也带出来
  • zrevrank key member 返回指定key对应的集合中,指定member在其中的排名,注意排名从0开始且按照分值从大到小降序
  • zrevrange key start end [withscores] 指定key对应的集合中,分值在 start~end之间的降序,加上 withscores 的话可以将分值以及value都显示出来
  • zrangebyscore key start end [withscores] 同 zrange命令不同的是,zrange命令是索引在startend范围的查询,而zrangebyscore命令是根据分值在startend之间的查询且升序展示
  • zrevrangebyscore key max min [withscores] 同zrangebyscore命令不同的是,zrangebyscores是根据分值从小到大升序展示,而zrevrangebyscore命令是从max到min降序展示
  • zremrangebyrank key start end 移除指定key对应集合中索引在start~end之间(包括start和end本身)的元素
  • zremrangebyscore by min max 同zremrangebyrank命令类似,不同的该命令是删除分值在min~max之间的元素
  • zinterstore desk-key key-count key… 获取指定数量的key的交集。例如有 key1:{10:A,20:B,30:C},key2{40:B,50:C,60:D},那么命令 zinterstore key3 2 key1 key2 意思就是 将key1 key2这两个集合的交集 赋给key3,如何获取key1与key2的交集呢。 key1中存在 A B C,key2中存在 B C D,那么交集就是 B 和 C,且 B与C对应的score也会叠加,即 key3{B:20+40=60,C:30+50=80}
  • zunionstore desk-key key-count key… 获取指定数量key的并集,例如有 key1{10:A,20:B,30:C},key2{40:B,50:C,60:D},可以看出 A和D不是key1与key2共有的,但是并集中只要存在就会记录进去,然后B与C是共有的,即 并集的结果就是 key3{10:A,B:60,D:60,C:80}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值