redis官网: redis.io/
一、数据结构
| 英文 | 中文 |
|---|---|
| String | 字符串 |
| Hash | 散列 |
| List | 列表 |
| Set | 集合 |
| ZSet | 有序集合 |
bitmap
geohash
hyperloglog
streams
二、功能
- 持久化存储
- 队列
- 缓存
- 分布式锁
- 发布订阅
三、缓存淘汰策略
| 策略名称 | 描述 |
|---|---|
| VOLATILE-LRU(Least Recently Used) | 最近最少使用 |
| ALLKYES-LRU(Least Recently Used) | 最近最少使用 |
| VOLATILE-RANDOM | 随机删除一个键 |
| ALLKEYS-RANDOM | 随机删除一个键 |
| VOLATILE-TTL | 删除过期时间最近的一个键 |
| NOEVICTION | 不删除键 只返回错误 |
四、持久化策略
- RDB
- AOF
五、集群策略
- 主从
- 哨兵
- cluster
六、事务 MULTI EXEC
七、Watch UnWatch
Watch -- 监控键值 (当被监控的键值修改后,阻止之后一个事务的执行)
UnWatch -- 取消监控
八、命令集 (*时间复杂度为O(n)*的命令,生产环境上禁止使用)
- KEYS *(生产环境禁用)
- DBSIZE(数据库中键的数量)
- INCR(整数值+1)
- PING(测试连接是否正常)
- FLUSHALL(清空数据库实例中所有数据库中的数据)
- EXISTS(查询键是否存在)
- DEL(删除键)
- TYPE(查询键值的数据类型)
- SET(设置字符串类型)
- GET(获取字符串类型)
- DECR(整数值-1)
- INCRBY(增加指定数值)
- DECRBY(减少指定数值)
- INCRBYFLOAT(增加指定浮点数)
- APPEND(尾部追加值)
- STRLEN(获取字符串长度)
- MSET(设置多个字符串类型的值)
- MGET(获取多个字符串类型的值)
- GETBIT(获取字符串类型指定位置二进制位的值)
- SETBIT(设置字符串类型指定位置二进制位的值)
- BITCOUNT(统计字符串类型中二进制位为1的数量)
- BITOP(位运算 支持AND、OR、XOR、NOT)
- BITPOS(获取指定字节间二进制位第一个为0或1的偏移量)
- HSET(设置散列类型key-field-value)
- HGET(获取散列类型)
- HMSET(批量设置散列类型)
- HMGET(批量获取散列类型)
- HGETALL(获取散列类型键的值)
- HEXISTS(判断散列类型字段是否存在)
- HSETNX(当字段不存在时赋值)
- HINCRBY(散列类型给字段值增加指定的整数)
- HDEL(删除散列类型的字段)
- HKEYS(获取散列类型字段)
- HVALS(获取散列类型字段值)
- HLEN(获取散列类型字段数量)
- LPUSH(从列表左边增加元素)
- RPUSH(从列表右边增加元素)
- LPOP(从列表左边弹出元素)
- RPOP(从列表右边弹出元素)
- LLEN(获取列表中元素的个数)
- LRANGE(获取列表片段)
- LREM(删除列表中指定的值)
- LINDEX(获取指定索引的值)
- LSET(设置指定索引的值)
- LTRIM(删除指定索引范围之外的元素)
- LINSERT(在指定元素前或后插入元素)
- RPOPLPUSH(将元素从一个列表转到另一个列表)
- SADD(向集合中加入元素)
- SREM(删除集合中的某元素)
- SMEMBERS(查询集合中的所有元素)
- SISMEMBER(查询集合中某元素是否存在)
- SDIFF(集合间差集)
- SINTER(集合间交集)
- SUNION(集合间并集)
- SCARD(获取集合中元素个数)
- SDIFFSTORE(集合间求差集并将结果存储到目标key)
- SINTERSTORE(集合间求交集并将结果存储到目标key)
- SUNIONSTORE(集合间求并集并将结果存储到目标key)
- SRANDMEMBER(随机从集合中取出一个元素)
- SPOP(从集合中弹出一个元素并删除)
- ZADD(增加带分数的元素)
- ZSCORE(获取元素的分数)
- ZRANGE(获取排名在某个范围内的元素)
- ZREVRANGE(获取排名在某个范围内的元素 倒序)
- ZRANGEBYSCORE(获取指定分数范围内的元素)
- ZINCRBY(增加一个元素的分数)
- ZCARD(获取集合中元素的数量)
- ZCOUNT(获取指定分数范围内的元素个数)
- ZREM(刪除一个或多个元素)
- ZREMRANGEBYRANK(按照排名范围删除元素)
- ZREMRANGEBYSCORE(按照分数范围删除元素)
- ZRANK(获得元素从小到大的排名)
- ZREVRANK(获得元素从大到小的排名)
- ZINTERSTORE(sum求和 min求最小值 max求最大值)
- ZUNIONSTORE(求交集)
- EXPIRE(设置键过期时间(秒))
- TTL(查询键过期剩余时间(秒))
- PEXPIRE(设置键过期时间(毫秒))
- PTTL(查询键过期剩余时间(毫秒))
- PERSIST(取消键过期)
- EXPIREAT(指定过期时间过期(秒) UNIX时间)
- PEXPIREAT(指定过期时间过期(毫秒) UNIX时间)
- SORT(对集合 列表 有序集合排序)
- SORT ALPHA(按字母排序)