Redis 旁路缓存
由于高并发原因,先更新数据库和先更新缓存策略都会因为延迟时间而导致数据不一致问题。
两种策略
- 先删除缓存,再更新数据库;
- 先更新数据库,再删除缓存。
因为缓存的写入通常要远远快于数据库的写入,所以先更新数据库再删缓存,删完缓存,下次访问写入很快,不会给其他请求间隔时间。
大key问题:
1、大key拆分
2、定时检查是否存在大key,可以删除使用unlink命令删除。
Redis数据结构底层原理
- String SDS简单字符串,有长度定义 能保存二进制文件
- set 整数集合 加Hash
- zset 压缩列表+链表
- Hash压缩列表或哈希表
- List 类型的底层数据结构是由双向链表或压缩列表实现的