微服务面试题(二)-Redis、集群设置、缓存穿透、缓存雪崩

什么是Redis?

  数据以键值对形式保存在内存中,具有缓存性质,可以将数据备份到硬盘上(以AOF、RDB策略设置节点),属于非关系型数据库(nosql),竞品是memcached。

 

Redis集群配置

  • 高性能集群

  Redis底层是散列配置,数据以散列形式存储在65535个散列桶中,相当于将List分成65535份,效率比List(遍历效率高,查找、插入、删除效率低)高很多。

  • 高可用集群

  每个保存数据的Redis服务器都做镜像,也就是说有一个和它保存同样数据的服务器做备用机,备用机相对主机性能和配置都低。

 

缓存穿透与缓存雪崩

  原本应该从缓存中查询出的数据,因为某些原因又查询到数据库了,穿透本身并不是完全不允许的事情(第一次Redis中没有数据,要通过数据库进行查询,将查询到的数据保存到Redis中,用作后续使用)。穿透几率越高,代表缓存利用率越低。

  如果短时间内有大量缓存失效,我们称之为缓存雪崩

  为什么会有雪崩呢?因为短时间内加载了很多数据,这些数据也会在短时间内同时失效。解决办法是可以手动设置这些数据的失效时间,就是在基本失效时间的基础上添加一个随机数,这样就不容易同时失效了!

 

posted @ 2021-09-11 21:15  Coder_Cui  阅读(115)  评论(0编辑  收藏  举报