Redis知识库(持续更新)

170 阅读4分钟

redis官网: redis.io/

一、数据结构

英文中文
String字符串
Hash散列
List列表
Set集合
ZSet有序集合

bitmap
geohash
hyperloglog
streams

二、功能

  1. 持久化存储
  2. 队列
  3. 缓存
  4. 分布式锁
  5. 发布订阅

三、缓存淘汰策略

策略名称描述
VOLATILE-LRU(Least Recently Used)最近最少使用
ALLKYES-LRU(Least Recently Used)最近最少使用
VOLATILE-RANDOM随机删除一个键
ALLKEYS-RANDOM随机删除一个键
VOLATILE-TTL删除过期时间最近的一个键
NOEVICTION不删除键 只返回错误

四、持久化策略

  1. RDB
  2. AOF

五、集群策略

  1. 主从
  2. 哨兵
  3. cluster

六、事务 MULTI EXEC

七、Watch UnWatch
Watch -- 监控键值 (当被监控的键值修改后,阻止之后一个事务的执行)
UnWatch -- 取消监控

八、命令集 (*时间复杂度为O(n)*的命令,生产环境上禁止使用)

  1. KEYS *(生产环境禁用)
  2. DBSIZE(数据库中键的数量)
  3. INCR(整数值+1)
  4. PING(测试连接是否正常)
  5. FLUSHALL(清空数据库实例中所有数据库中的数据)
  6. EXISTS(查询键是否存在)
  7. DEL(删除键)
  8. TYPE(查询键值的数据类型)
  9. SET(设置字符串类型)
  10. GET(获取字符串类型)
  11. DECR(整数值-1)
  12. INCRBY(增加指定数值)
  13. DECRBY(减少指定数值)
  14. INCRBYFLOAT(增加指定浮点数)
  15. APPEND(尾部追加值)
  16. STRLEN(获取字符串长度)
  17. MSET(设置多个字符串类型的值)
  18. MGET(获取多个字符串类型的值)
  19. GETBIT(获取字符串类型指定位置二进制位的值)
  20. SETBIT(设置字符串类型指定位置二进制位的值)
  21. BITCOUNT(统计字符串类型中二进制位为1的数量)
  22. BITOP(位运算 支持AND、OR、XOR、NOT)
  23. BITPOS(获取指定字节间二进制位第一个为0或1的偏移量)
  24. HSET(设置散列类型key-field-value)
  25. HGET(获取散列类型)
  26. HMSET(批量设置散列类型)
  27. HMGET(批量获取散列类型)
  28. HGETALL(获取散列类型键的值)
  29. HEXISTS(判断散列类型字段是否存在)
  30. HSETNX(当字段不存在时赋值)
  31. HINCRBY(散列类型给字段值增加指定的整数)
  32. HDEL(删除散列类型的字段)
  33. HKEYS(获取散列类型字段)
  34. HVALS(获取散列类型字段值)
  35. HLEN(获取散列类型字段数量)
  36. LPUSH(从列表左边增加元素)
  37. RPUSH(从列表右边增加元素)
  38. LPOP(从列表左边弹出元素)
  39. RPOP(从列表右边弹出元素)
  40. LLEN(获取列表中元素的个数)
  41. LRANGE(获取列表片段)
  42. LREM(删除列表中指定的值)
  43. LINDEX(获取指定索引的值)
  44. LSET(设置指定索引的值)
  45. LTRIM(删除指定索引范围之外的元素)
  46. LINSERT(在指定元素前或后插入元素)
  47. RPOPLPUSH(将元素从一个列表转到另一个列表)
  48. SADD(向集合中加入元素)
  49. SREM(删除集合中的某元素)
  50. SMEMBERS(查询集合中的所有元素)
  51. SISMEMBER(查询集合中某元素是否存在)
  52. SDIFF(集合间差集)
  53. SINTER(集合间交集)
  54. SUNION(集合间并集)
  55. SCARD(获取集合中元素个数)
  56. SDIFFSTORE(集合间求差集并将结果存储到目标key)
  57. SINTERSTORE(集合间求交集并将结果存储到目标key)
  58. SUNIONSTORE(集合间求并集并将结果存储到目标key)
  59. SRANDMEMBER(随机从集合中取出一个元素)
  60. SPOP(从集合中弹出一个元素并删除)
  61. ZADD(增加带分数的元素)
  62. ZSCORE(获取元素的分数)
  63. ZRANGE(获取排名在某个范围内的元素)
  64. ZREVRANGE(获取排名在某个范围内的元素 倒序)
  65. ZRANGEBYSCORE(获取指定分数范围内的元素)
  66. ZINCRBY(增加一个元素的分数)
  67. ZCARD(获取集合中元素的数量)
  68. ZCOUNT(获取指定分数范围内的元素个数)
  69. ZREM(刪除一个或多个元素)
  70. ZREMRANGEBYRANK(按照排名范围删除元素)
  71. ZREMRANGEBYSCORE(按照分数范围删除元素)
  72. ZRANK(获得元素从小到大的排名)
  73. ZREVRANK(获得元素从大到小的排名)
  74. ZINTERSTORE(sum求和 min求最小值 max求最大值)
  75. ZUNIONSTORE(求交集)
  76. EXPIRE(设置键过期时间(秒))
  77. TTL(查询键过期剩余时间(秒))
  78. PEXPIRE(设置键过期时间(毫秒))
  79. PTTL(查询键过期剩余时间(毫秒))
  80. PERSIST(取消键过期)
  81. EXPIREAT(指定过期时间过期(秒) UNIX时间)
  82. PEXPIREAT(指定过期时间过期(毫秒) UNIX时间)
  83. SORT(对集合 列表 有序集合排序)
  84. SORT ALPHA(按字母排序)