Redis:数据类型和常用命令有哪些?

通用命令

查询所有的key:

  keys * 

查询a开头的,长度为2的key:

  keys a?

删除指定的key:

  del keyName

判断指定key是否存在:

  exists keyName

给指定key设置有效期:

  expire keyName seconds

查看key的剩余有效时间:

  ttl keyName  (-1 为永久有效,-2为已被删除)

 

String类型

新增、修改指定key的value:

  set keyName value

获取指定key的value:

  get keyName

批量新增多个键值对:

  mset k1 v1 k2 v2 ...

批量获取指定key的value:

  mget k1 k2 ...

让一个整型的key的value自增1:

  incr keyName

指定自增步长为20:

  incrby keyName 20

让一个浮点型的key的value自增0.01:

  incrbyfloat keyName 0.01

新增一个键值对,存在则不操作:

  setnx keyName value

新增一个键值对,指定有效期为10s:

  setex keyName 10 value

 

Hash类型

  key-[field-value]形式存储信息。

 

新增、修改指定key的指定field的value:

  hset keyName fieldName vavlue

获取指定key的指定field的value:

  hget keyName fieldName

批量新增多个field:

  hmset keyName field1 value1 field2 value2 ...

批量获取指定key的指定filed的value:

  hmget keyName field1 field2 ...

获取指定key的所有field和value:

  hgetall keyName

获取指定key的所有field:

  hkeys keyName

获取指定key的所有value:

  hvals keyName

指定key的指定field的值自增20:

  hincrby keyName fieldName 20

新增一个field-value,若field存在则不操作:

  hsetnx keyName fieldName value

 

List类型

  双向链表形式储存数据。

 

指定的key头部新增一个元素:

  Lpush keyName value

指定的key尾部新增一个元素:

  Rpush keyName value

指定的key头部的元素取出:

  Lpop keyName

指定的key尾部的元素取出:

  RpopkeyName

获取指定key的第1-2个元素:

  lrange keyName 0 1

阻塞式地取出指定key头部的元素,若key为空,则等待10s:

  bLpop keyName 10

阻塞式地取出指定key尾部的元素,若key为空,则等待10s:

  bRpop keyName 10

 

Set类型

  不可重复集合。

 

指定的key中新增一个元素:

  Sadd keyName value

指定的key中移除指定元素:

  Srem keyName value

获取key中元素的个数:

  Scard keyName

判断指定key中是否存在指定value:

  Sismember keyName value

获取key中所有元素:

  Smembers keyName

求 set1 和 set 2 的交集:

  Sinter set1 set2

求 set1 和 set2 的差集:

  Sdiff set1 set2

求 set1 和 set2 的并集:

  Sunion set1 set2

 

SortedSet类型

  带分值的set集合。

  默认按照得分升序排序,可以在 Z 后面添加 rev ,指定为降序排序。

 

新增一个元素到指定的key中,并指定其score值为0.1:

  Zadd keyName 0.1 value

删除指定的一个元素:

  Zrem keyName value

获取指定元素的score:

  Zscore keyName value

获取指定元素的排名,0为最小:

  Zrank keyName value

获取指定key中的元素个数:

  Zcard keyName

统计score在指定范围内的元素个数:

  Zcount keyName min max

获取排名在指定范围内的元素,0开始:

  Zrange keyName min max

获取score指定范围内的元素:

  ZrangeByscore keyName min max

让指定元素的score自增:

  Zincrby keyName 步长 value

差集:

  Zdiff set1 set2

交集:

  Zinter set1 set2

并集:

  Zunion set1 set2

posted @ 2023-04-16 16:32  在博客做笔记的路人甲  阅读(18)  评论(0编辑  收藏  举报