摘要: 因为redis缓存的大小是远远低于数据库中的数据量,所以如果缓存满了的话,则要选择将缓存中的某些数据淘汰为新的数据腾出空间 缓存数据的淘汰机制包括两步:第一,根据一定的策略,筛选出对应用访问来说“不重要”的数据;第二,将这些数据从缓存中删除,为新来的数据腾出空间, 合理的缓存数据淘汰机制还有淘汰策略 阅读全文
posted @ 2020-10-20 18:33 xzwcomeon 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 在一些场景下,有些数据被访问的次数非常少,甚至只会被访问一次。当这些数据服务完访问请求后,如果还继续留存在缓存中的话,就只会白白占用缓存空间。这种情况,就是缓存污染。 如果污染数据很少时,对于系统性能的影响就会很小,但是如果一旦数据量很大时,将会大大占用缓存容量,一旦缓存满的时候,因为保存在缓存中的 阅读全文
posted @ 2020-10-20 18:31 xzwcomeon 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 如果缓存出现击穿,雪崩,穿透等情况,会造成大量请求积压到数据库层,如果请求的并发量很大,就会导致数据库宕机或是故障,这就是很严重的生产事故了。 导致缓存雪崩的原因:第一:缓存中有大量的数据同时过期,导致大量请求无法处理,出现缓存缺失,然后会将请求发送到数据库,从数据库中读取数据。如果应用的并发请求量 阅读全文
posted @ 2020-10-20 17:29 xzwcomeon 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 缓存异常: 解决缓存与数据库数据非一致性问题: 数据的一致性: 缓存中有数据:则缓存中的数据要和数据库中的数据相同 缓存中没有数据:数据库中的值必须是最新的值 不符合这两种情况的,就属于缓存和数据库的数据不一致问题了。缓存的读写模式不同时,缓存数据不一致的发生情况不一样,应对的方法也会有所不同, 根 阅读全文
posted @ 2020-10-20 15:50 xzwcomeon 阅读(180) 评论(0) 推荐(0) 编辑