Redis
命令
官方命令:https://redis.io/docs/latest/commands
Key的层级格式
Redis的key运行多个单词形成层级结构,多个单词之间用 :
冒号隔开
格式:project:service:type:id
举例:
users:1
users:2
product:111
product:123
通用命令
KEYS
:查询所有key(不建议在生产环境使用)DEL
:删除一个keyEXISTS
:判断key是否存在EXPIRE
:给key设置有效期,到期自动删除TTL
:查看key剩余有效期
String类型命令
SET
:添加或修改一个string类型的键值对GET
:根据key获取string类型的valueMSET
:批量添加多个string类型的键值对MGET
:批量查询多个string类型的value值INCR
:让一个整型自增1INCRBY
:让一个整型按指定步长自增INCRBYFLOAT
:让一个浮点类型按指定步长自增SETNX
:添加一个string类型的键值对(如果不存在)SETEX
:添加一个string类型的键值对,并指定有效期
Hash类型命令
HSET key field value
:添加或者修改hash类型key的field的值(最新版支持批量添加)HGET key field
:获取一个hash类型key的field的值HMSET
:批量添加多个hash类型key的field的值HMGET
:批量获取多个hash类型key的field的值HGETALL
:获取一个hash类型的key中的所有的field和valueHKEYS
:获取一个hash类型的key中的所有的fieldHVALS
:获取一个hash类型的key中的所有的valueHINCRBY
:让一个hash类型key的字段值自增并指定步长HSETNX
:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行
List类型命令
LPUSH key element ...
:向列表左侧插入一个或多个元素LPOP key
:移除并返回列表左侧的第一个元素,没有则返回nilRPUSH key element ...
:向列表右侧插入一个或多个元素RPOP key
:移除并返回列表右侧的第一个元素LRANGE key star end
:返回一段角标范围内的所有元素BLPOP
、BRPOP
:与LPOP和RPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil
Set类型命令
SADD key member ...
:向set中添加一个或多个元素SREM key member ...
:移除set中的指定元素SCARD key
:返回set中元素的个数SISMEMBER key member
:判断一个元素是否存在于set中SMEMBERS
:获取set中的所有元素SINTER key1 key2 ...
:求key1与key2的交集SDIFF key1 key2 ...
:求key1与key2的差集SUNION key1 key2 ...
:求key1与key2的并集
SortedSet类型命令
ZADD key score member
:添加一个或多个元素到sorted set,如果已经存在则更新其score值ZREM key member
:删除sorted set中的一个指定元素ZSCORE key member
:获取sorted set中的指定元素的score值ZRANK key member
:获取sorted set中的指定元素的排名ZCARD key
:获取sorted set中的元素个数ZCOUNT key min max
:统计score值在给定范围内的所有元素的个数ZINCRBY key increment member
:让sorted set中的指定元素自增,步长为指定的increment值ZRANGE key min max
:按照score排序后,获取指定排名范围内的元素ZRANGEBYSCORE key min max
:按照score排序后,获取指定score范围内的元素ZDIFF
、ZINTER
、ZUNION
:求差集、交集、并集
注意
所有排名默认升序,如要降序则在命令 Z
后面加 REV
,如:ZRANK
-> ZREVRANK