Redis
命令
官方命令:https://redis.io/docs/latest/commands
Key的层级格式
Redis的key运行多个单词形成层级结构,多个单词之间用 : 冒号隔开
格式:project:service:type:id
举例:
users:1users:2product:111product: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