目录
说明
建议只使用redis的缓存
技巧
目录树
阿里:技术部:张三
阿里:人事部:李四
ali:it:zhangsan
ali:renshi:lisi
类型
string 字符串
hash 类似于map
list 集合 可重复
set 集合 不能重复 自动去重
zset 自动去重 有序集合 场景 排序 排名
使用场景
首页轮播图
缓存维护
消息队列(不推荐 建议直接使用MQ)
发布与订阅 类似于MQ
订阅
SUBSCRIBE 频道号1 频道号2 频道号3
批量订阅
可同时订阅 频道号1 频道号2 频道号3
PSUBSCRIBE 频道号*
发布
PUBLISH {频道号1} {内容}
持久化
说明
自动备份数据 持久化到本地磁盘
分类
RDB
优势
保存某个时间点的快照 一个文件 好恢复
备份快照的时候 不会进行IO 保证快照数据的完整性
劣势
如果在备份的时候出问题 最后一次的备份会丢失 如果能接受的话 可以考虑使用RDB
无法实时备份
AOF
每次写操作 都会写入到AOF日志 便于备份
优势
保证 redis 数据完整性
默认每秒写入一次日志(最坏的情况 也只是丢失一秒内的数据)
还有 每次 写入操作 备份一次日志(可以保证数据完整性 效率低)
劣势
日志文件比RDB快照大 占内存
IO频繁
RDB&AOF
问题
缓存击穿
说明
黑客 恶意频繁访问redis不存在的数据,导致数据库压力增大
解决方法
异步去读mysql 其他相同请求直接返回空
同步等待 第一个请求已经去数据库查询 其他请求等待这一个查询就可以