redis的简单理解

     redis的作用

1 做缓存存储数据
2 做锁 分布式锁
3 可以作为缓存数据库和计算等用途

   redis的持久化方案

RDB(默认) 和AOF 

rdb 保存某个时间节点的全部快照 根据redis.conf配置里的save m n定时触发

AOF(Append-Only-File)持久化:保存写状态 记录所有写指令
当AOF和RDB文件同时存在时,优先加载AOF
 

    redis的一些概念 

缓存穿透

缓存穿透是指用户查询数据,在数据库没有,自然在缓存中也不会有。这样就导致用户查询的时候,在缓存中找不到,每次都要去数据库再查询一遍,然后返回空
例如 id=-1或null 或者userId=0这种情况
解决方案 特殊字段校验 或者布隆过滤器过滤 或者会缓存一个特定值返回
缓存击穿
一些热点数据没有缓存 或者 到期了没有缓存
解决方案 上线后缓存预热 提前缓存  第三方key24小时过期 缓存就设置23小时过期以防 过期后失败

缓存雪崩

多个缓存同一时间失效或到期

解决方案 缓存时间设置不一样

redis 锁分布式锁

原理 redis.setNx

但是高峰期可能设置的锁时间不够用 

1锁到期但任务没执行完

2误删除其他线程锁

解决方案

1用redisson 锁 

2 value值里存储不一样 删除锁时比较

 

 

posted @ 2023-01-03 18:33  一直淡鱼  阅读(18)  评论(0编辑  收藏  举报