五个数据类型 : string list hash set zset(有序set)
6版本以后新数据类型 :
-
Bitmaps(大数据量推荐使用) 少量 set 就可以满足
-
HyperLogLog 处理 基数问题
-
Geospital 地位位置的操作 经纬度的查询
事务冲突的解决
悲观锁乐观锁进行解决。
秒杀事件案例处理问题 可用lua 语言进行处理
springboot整合 redis 使用Jedis 连接
持久化操作 RDB 和 AOF
redis 开启 RDB 对数据准确性要求高可开启AOF
只做存储可以两者都不使用
一主多从模式 薪火相传模式 哨兵模式
穿透
现象1 大量访问,redis 命中率降低 一直查询数据库
现象2 大量非正常url访问
解决方案 1. 对空值缓存 设置失效时间短一些
2.设置访问白名单
3.采用布隆过滤器
4.实时监控设置黑名单
击穿
问题 数据库瞬时间压力过大 redis 并未出现大量过期 某个key 过期 大量访问
解决方案 1. 预先设立热门访问 增加时长
2.实时监控
3. 使用锁 效率低
雪崩
问题 极少的时间大量的key 过期
解决方案
- 构建多级缓存
- 使用锁或者队列
- 设置过期标志更新缓存
- 将缓存失效时间分散开
分布式锁
设置uuid 防止误删 使用lua 语言保证删除原子性
原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/tech/database/278376.html