第一部分 数据结构与应用
第1节 字符串
简单的
- SET key value [ NX | XX ]
NX只能给空键赋值
XX只能覆盖值
- GET
- GETSET : 获取旧值并赋新值
- MSET : 为多个字符串设置值
- MGET : 获取多个字符串
- MSETNX : 键不存在的情况下,为多个键赋值
- STRLEN : 字符串值的长度
- GETRANGE : 获取指定范围的字符串
- SETRANGE : 对指定范围赋值 闭区间
- APPEND : 在末尾追加新内容
如果键空,则创建并赋值
- INCRBY | DECRBY Key Value : 加Value
- INCR | DECR
第2节 散列
- HSET hash field value
- HSETNX
- HGET
- HEXISTS : 检查字段是否存在
- HDEL : 删除字段
- HLEN : 散列包含的字段数量
- HMSET : 一次为多个字段设置值
- HMGET : 一次获取多个字段
127.0.0.1:6379> HMSET blog a 1 b 2 c 3
OK
127.0.0.1:6379> HMGET blog a b c
1) "1"
2) "2"
3) "3"
- HKEYS | HVALS | HGETALL : 获取所有字段、值、字段和值
第3节 列表
- 阻塞式操作 P119
第4节 集合
第5节 有序集合
第6节 HyperLogLog
- 一个概率算法,可以对大量元素计数
- 使用固定内存
- 可以对多个HyperLogLog取并集
第7节 位图
第8节 地理坐标
第9节 流
第二部分 附加功能
第1节 数据库
第2节 自动过期
- 使用该功能可以做缓存刷新
- 排行榜
第3节 流水线与事物
- 流水线: 一次执行多条命令
第4节 Lua脚本
第5节 持久化
1. 分类
- RDB持久化
- AOF持久化
- RDB-AOF混合持久化
2. RDB持久化
是redis默认使用的持久化功能,会创建出一个rdb文件,可以手动创建,也可以定时执行。
2.1 命令
2.1.1 阻塞式备份
SAVE
如果已有rdb文件,则新文件会覆盖旧文件。 O(N)
2.1.2 非阻塞式
BGSAVE
创建子进程进行备份。O(N)
2.1.3 自动备份
写在redis.conf里
save <seconds> <changes>
如果服务器在seconds内,执行了changes次修改,则自动进行一次BGSAVE命令。
可以多个save命令共存
2.1.4 载入备份
当redis启动时,会在工作目录查找rdb文件,然后自动载入。