文章 > java基础 > java中遇到缓存穿透的两种方案

java中遇到缓存穿透的两种方案

头像

小妮浅浅

2021-03-23 15:36:17735浏览 · 0收藏 · 0评论

1、说明

缓存穿透是指查询一定不存在的数据,因为当缓存被误操作时,会被动地写入数据,而且为了容错,如果在存储层中查不到数据,就不会写入缓存,这样就会导致该不存在的数据每次请求都被写入存储层,从而失去缓存的意义。

2、解决方案

(1)一种简单粗暴的方法是,如果查询返回的数据是空的(无论该数据是否存在或系统失败),我们仍然缓存该空结果。

(2)通常情况下,使用Bloomfilter将所有可能存在的数据散列到一个足够大的bitmap中,该bitmap会截取一定不存在的数据,从而避免对底层存储系统产生查询压力。

以上就是java中遇到缓存穿透的两种方案,希望对大家有所帮助。更多Java学习指路:Java基础

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮