Redis常见命令
Key的层级结构
项目名:业务名:类型:id
- SET HarmonyOS:Web:User 1
通用命令
- Keys:查看所有符合模板的key
- KEYS * (查询所有key)
- KEYS *name (查询以name结尾的key)
- KEYS *ab* (查询包含ab的key)
- DEL:删除key,返回删除的数量。
- DEL name(删除name键)
- DEL K1,K2,K3(批量删除)
- EXISTS:判断key是否存在,返回0(不存在)或者1(存在)
- EXISTS name(判断name键是否存在)
- EXPIRE:设置key的有效期,单位是秒
- EXPIRE name 10 (设置name键的有效期10s)
- TTL:查询key的有效期。-1(永久有效),-2(已经删除)
- TTL name
String类型常见命令
value是一个String
- SET:添加一个键值对
- SET name jack
- GET:获取某个键的值
- GET name
- MSET:批量添加多个String类型的键值对
- MSET name jack age 18 gender male
- MGET:批量获取多个键的值
- MGET name age gender
- INCR:让某个key的值自增1(整形)
- INCR age
- INCRBY:让某个key自增指定的值
- INCRBY age 3
- INCRBYFLOAT:让一个浮点数自增指定步长
- SETNX:如果不存在(Not Exists),就添加一个键值对
- SETNX name JACK
- SET name JACK NX
- SETEX:添加一个键值对并指定有效期
- SETEX name 20 Tom
Hash类型常见命令
value是一个键值对
KEY - (HASHKEY-HASHVALUE)
- HSET:添加一个键值对
- HSET Jayvee age 18
- HGET:获取一个key的HASH KEY对应的HASH VALUE的值
- HGET Jayvee age
- HMSET:为一个KEY批量添加HASH数据
- HMSET TOM age 18 gender female school whu
- HMGET:获取一个KEY的多个HASH VALUE数据
- HMGET TOM age gender
- HGETALL:获取一个KEY的所有HASH(包含HASH KEY和HASH VALUE)
- HGETALL TOM
- HKEYS:获取一个key的所有HASH KEY
- HVALS:获取一个key的所有HASH VALUE
- HINCRBY:让一个key的HASH KEY的HASH VALUE自增指定步长
- HINCRBY TOM age 2
- HSETNX:判断一个key的HASH KEY是否存在,不存在就加入
- HSETNX TOM age 18
LIST类型常见命令
value是一个列表
底层是双向链表,支持正向/反向检索
- LPUSH:列表左侧插入一个或者多个元素
- LPUSH mylist 1 2 3 (结果是3 2 1)
- LPOP:移除并返回列表左侧元素
- RPUSH
- RPOP
- LRANGE:返回一段下标范围内的所有元素
- LRANGE mylist 0 10 (返回3,2,1)
- BLPOP:弹出并返回列表左侧元素,如果列表为空,等待一定时间。(阻塞队列)
- BRPOP
SET类型常见命令
value是一个集合
无序,不可重复,查找快,支持交集、并集、差集等运算
- SADD:为一个key的集合添加元素
- SADD myset 1
- SREM:为一个key的集合删除元素
- SREM myset 1
- SCARD:返回key集合的元素个数
- SISMEMBER:判断key集合是否包含某个元素
- SISMEMBER myset 1
- SINTER:求两个key集合的交集
- SINTER myset1 myset2
- SUNION:求两个key集合的并集
- SDIFF:求两个key集合的差集
SortedSet类型常见命令
value是一个可排序的集合(TreeSet)
存储元素带上score
- ZADD:向key集合添加元素
- ZADD mysortedset 10 jack
- ZREM
- ZSCORE:获取集合中指定元素的score值
- ZSCORE mysortedset jack
- ZRANK:获取集合中指定元素的排名
- ZRANK mysortedset jack
- ZCARD:获取集合元素个数
- ZCARD mysortedset
- ZCOUNT:获取指定score范围内的元素个数
- ZCOUNT mysorted 60 100
- ZINCRBY:集合中元素自增指定步长
- ZINCRBY mysorted 10 jack
- ZRANGE:按照score排序后,返回排名范围内的元素
- ZRANGE mysorted 1 3
- ZRANGEBYSCORE:按照score排序后,获取指定score范围内的元素
- ZRANGEBYSCORE mysorted 60 100
- ZDIFF,ZUNION,ZINTER:差集,并集和交集