Redis常用命令汇总

Redis的数据结构

  • 字符串(String)
  • 哈希(hash)
  • 字符串列表(list)
  • 字符串集合(set)
  • 有序字符串集合(sorted set)

Key定义的注意点

  • 不易过长\过短
  • 统一命名规范

存储String

  • 二进制安全,存入和获取的数据相同
  • Value最多可以容纳的数据长度时512M
常用命令
  • 赋值 set key value
  • 取值 get key
  • 删除 del key
  • 数值增减

1:incr key
默认自增长1,若key不存在,则创建key,默认为0,自增长1,结果为1,若key不能进行数值运算则会抛出错误信息
2:decr key
默认自减1,若key不存在,则创建key,默认为0,自减1,结果为-1,若key不能进行数值运算则会抛出错误信息

  • 扩展

1:incrby key num
每次key按照num增长,key不存在,则创建key,默认为0,增加num


image.png

2:decrby key num
每次key按照num减少,key不存在,则创建key,默认为0,减少num


image.png

3:append key str
拼接:key不存在,则创建key,默认为str


image.png

存储Hash

  • String Key和String Value的map容器
  • 每一个Hash可以存储4294967295个键值对
常用命令
  • 赋值

1:hset key k1 v1
2:hmset key k1 v1 k2 v2

  • 取值

1:hget key k1
2:hmget key k1 k2


Redis常用命令汇总_第1张图片
image.png

3:hgetall key 获取所有k和v


image.png

4:hkeys key 获取所有k


image.png

5:hvals key 获取所有v

image.png

6:hlen key 获取map中键值对的个数


image.png
  • 删除

1:del key 删除整个map


image.png

2:hdel key k 删除map中的k


Redis常用命令汇总_第2张图片
image.png
  • 增加

1:hincrby key k num


image.png
  • 扩展

1:hexists key k 判断k是否存在
存在:1 不存在:0


image.png

存储list

  • ArrayList使用数组方式
  • LinkedList使用双向链接方式
  • 双向链表中增加数据
  • 双向链表中删除数据
常用命令
  • 两端添加

1:lpush
2:rpush
3:lpushx
4:rpushx


Redis常用命令汇总_第3张图片
image.png

Redis常用命令汇总_第4张图片
image.png

Redis常用命令汇总_第5张图片
image.png
  • 查看列表

1: lrange

  • 删除

1:del


image.png
  • 两端弹出

1:lpop
2:rpop


Redis常用命令汇总_第6张图片
image.png
  • 获取列表元素个数

1:llen


Redis常用命令汇总_第7张图片
image.png
  • 扩展

1:lrem key c v
c 为正:从左删除c个值为v
c 为负:从右删除c个值为v
c 为0:删除全部的v


Redis常用命令汇总_第8张图片
image.png

Redis常用命令汇总_第9张图片
image.png

Redis常用命令汇总_第10张图片
image.png

Redis常用命令汇总_第11张图片
image.png

2:lset 指定位置插入值


Redis常用命令汇总_第12张图片
image.png

3:linsert before
4:linsert after


Redis常用命令汇总_第13张图片
image.png

5:rpoplpush 右弹出,左添加


Redis常用命令汇总_第14张图片
image.png

存储Set(跟踪一些唯一性的数据)

  • 和List类型不同,Set集合中不允许出现重复的元素
  • Set可包含的最大元素个数是4294967295
常用命令
  • 添加元素

1:sadd 返回值为0,说明集合中已经存在该元素


image.png
  • 删除元素

1:sdel


image.png
  • 获得集合中的元素

1:smembers


image.png
  • 集合中的差集运算

1:sdiff 结果来自第一个集合


Redis常用命令汇总_第15张图片
image.png

2:sdiffstore 差集存储到另外一个集合中


image.png
  • 集合中的交集运算

1:sinter


image.png

2:sinterstore 交集存储到另外一个集合


image.png
  • 集合中的并集运算

1:sunion


image.png

2:sunionstore 并集存储到另外一个集合


image.png
  • 扩展

1:scard 集合中元素的个数

image.png

2:srandmember 随机选中一个元素


image.png

存储Sorted-Set

  • Sorted-Set中的成员在集合中的位置是有序的
  • 每个key都有一个分数
常用命令
  • 添加元素

1:zadd key s1 k2 s2 k2 ...

  • 获得元素

1:zrange key 查看所有k


image.png

2:zrange key n1 n2 withscores 查看集合中所有的key和对应的分数(从小到大)


image.png

3:zrevrange key n1 n2 withscores 查看集合中所有的key和对应的分数(从大到小)
image.png

4:zscore key k 查看k的分数


image.png
  • 删除元素

1:zrem


Redis常用命令汇总_第16张图片
image.png
  • 范围查询
  • 扩展

1:zcard 获取集合元素个数


image.png

2:zremrangebyrank key n1 n2 删除n1~n2范围内元素


image.png

3:zremrangebyscore key n1 n2 删除分数在n1~n2范围元素
image.png

4:zrangebyscore key n1 n2 [withscores] [limit n3 n4]查看分数在n1~n2范围内元素
withscores:是否查看分数
limit n3 n4:限制条件,n表示位数,取出n3到n4内的元素,包右不包左


Redis常用命令汇总_第17张图片
image.png

5:zincrby key n k k的分数加上n
Redis常用命令汇总_第18张图片
image.png

6:zcount key n1 n2 分数在n1~n2内元素的个数,包括n1和n2
Redis常用命令汇总_第19张图片
image.png

Key的相关操作

常用命令

1:keys * 查看所有key


Redis常用命令汇总_第20张图片
image.png

2:keys n? 模糊匹配key


image.png

3:exists key 判断key是否存在


image.png

4:rename oldkey newkey 修改key的名称


image.png

5:expire key m 设置key的有效 (m以秒为单位)
6:ttl key 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间


Redis常用命令汇总_第21张图片
image.png

7:type key 查看key的数据结构类型


image.png

8:del key 删除key


image.png

你可能感兴趣的:(Redis常用命令汇总)