一次讲座的笔记,当然,前面的基础是自己补的。。
Install
1 | brew install redis |
Start
1 | redis-server |
Base
String
1 | SET name 'yxp' |
Hash
1 | HMSET person name 'yxp' age 27 |
List
1 | lpush names yxp |
Set
1 | sadd player kobe |
zset
1 | zadd [key] [score] [member] # score可理解为权重,将按score降序排序 |
使用场景
RDB 持久化
- 手动触发:save(阻塞)、bgsave(fork子进程)
- 自动触发:redis配置、主从同步、debug reload、shutdown
AOF
以独立日志写命令,重启时执行AOF文件中的命令恢复数据
- AOF写入 appednonly=yes appendfsync=(always|evetyset|no)
- 重写
主从同步
积压缓存区
主从断裂的判断时间
集群拓扑结构
键分配模式
HASH_SLOT
cacheCloud
应用
MQ
TIPS
- 分布式锁:setex 设置过期时间,避免死锁
- pipeline:一次发送多条命令
- 慢查询:showlog-log-slower-than、showlog-max-len、slowlog get
- Bigkey
- 缓存穿透
- 热点数据
- info