Skip to content

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:删除一个key
  • EXISTS:判断key是否存在
  • EXPIRE:给key设置有效期,到期自动删除
  • TTL:查看key剩余有效期

String类型命令

  • SET:添加或修改一个string类型的键值对
  • GET:根据key获取string类型的value
  • MSET:批量添加多个string类型的键值对
  • MGET:批量查询多个string类型的value值
  • INCR:让一个整型自增1
  • INCRBY:让一个整型按指定步长自增
  • 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和value
  • HKEYS:获取一个hash类型的key中的所有的field
  • HVALS:获取一个hash类型的key中的所有的value
  • HINCRBY:让一个hash类型key的字段值自增并指定步长
  • HSETNX:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行

List类型命令

  • LPUSH key element ...:向列表左侧插入一个或多个元素
  • LPOP key:移除并返回列表左侧的第一个元素,没有则返回nil
  • RPUSH key element ...:向列表右侧插入一个或多个元素
  • RPOP key:移除并返回列表右侧的第一个元素
  • LRANGE key star end:返回一段角标范围内的所有元素
  • BLPOPBRPOP:与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范围内的元素
  • ZDIFFZINTERZUNION:求差集、交集、并集

注意

所有排名默认升序,如要降序则在命令 Z 后面加 REV,如:ZRANK -> ZREVRANK