微服务面试题(二)-Redis、集群设置、缓存穿透、缓存雪崩
Redis集群配置
-
高性能集群
Redis底层是散列配置,数据以散列形式存储在65535个散列桶中,相当于将List分成65535份,效率比List(遍历效率高,查找、插入、删除效率低)高很多。
-
高可用集群
每个保存数据的Redis服务器都做镜像,也就是说有一个和它保存同样数据的服务器做备用机,备用机相对主机性能和配置都低。
缓存穿透与缓存雪崩
原本应该从缓存中查询出的数据,因为某些原因又查询到数据库了,穿透本身并不是完全不允许的事情(第一次Redis中没有数据,要通过数据库进行查询,将查询到的数据保存到Redis中,用作后续使用)。穿透几率越高,代表缓存利用率越低。
如果短时间内有大量缓存失效,我们称之为缓存雪崩。
为什么会有雪崩呢?因为短时间内加载了很多数据,这些数据也会在短时间内同时失效。解决办法是可以手动设置这些数据的失效时间,就是在基本失效时间的基础上添加一个随机数,这样就不容易同时失效了!