redis大杂烩

redis 基础的五种数据结构: string, hash ,list (双向链表)  ,set(不重复集合),zset(跳表)

1.redis的3种问题:

 缓存雪崩:大量缓存过期时间一致导致 同时过期,大量请求到数据库崩了。解决方案: 差异化过期时间

 缓存击穿:正在被大量请求的热键突然过期导致大量请求执行到了数据库。解决方案:1.热点数据写入到内存缓存中。2.热点数据永不过期。3.加锁。串行访问数据库。第一个访问到数据到写入到redis,其他的就不会再访问到数据库了。

 缓存穿透:访问缓存和数据库中都不存在的值,比如 id=-1这种,会一直将请求执行到数据库。高并发会导致数据库崩溃。 解决方案:将这种数据也缓存在redis中,(-1,null)。

2.分布式中数据一致性问题:延迟双删策略:先更新数据库数据,再删除缓存中数据,再2,3s后再删除缓存数据。

   主要解决多个请求的互相干扰问题。(两个更新一个读操作的数据一致性问题)

3.redis的rdb和aof:

  rdb 将缓存快照异步写入到磁盘文件:会存在数据丢失

   aof 将操作日志同步写入到磁盘文件:文件比较大

 

    

   

  

 

posted @ 2021-04-03 16:29  翱翔的小鱼  阅读(42)  评论(0编辑  收藏  举报