首页 > 其他分享 >缓存穿透

缓存穿透

时间:2023-02-23 10:58:28浏览次数:32  
标签:缓存 请求 数据库 布隆 查询 穿透

什么是缓存穿透?

有特殊请求在查询一个不存在的数据,即:数据不存在于缓存也不存在于数据库

导致每次请求都会穿透到数据库,缓存成了摆设,对数据库产生很大压力从而影响正常服务

 

 

什么方案防止缓存穿透?

  • 缓存空值

    当请求的数据不存在缓存也不存在于数据库的时候,设置一个缺省值,当后续再次进行查询则直接返回空值或者缺省值

  • 布隆过滤器

    在数据写入数据库的同时将这个ID同步到布隆过滤器中,当请求的Id不存在布隆过滤器中则说明该请求查询的数据一定没有在数据库中保存,就不要去数据库中查询了

标签:缓存,请求,数据库,布隆,查询,穿透
From: https://www.cnblogs.com/Griffin/p/17147139.html

相关文章

  • 序列号生成并发引发的synchronized、数据库隔离级别、myabits缓存等一些问题记录
    起因一个序列号产生方法发现有并发问题。修改这个方法中发生了一些错误,而这涉及到了一些的知识点,所以记录下。涉及点synchronized方法:如果此方法内包含数据库操作,且......
  • 内网穿透
    ngrok1.下载(1)官网:https://ngrok.com/(2)注册账号、登录(不登录无法获得授权token)(3)下载内网穿透工具2.windows安装(1)直接解压(2)解压目录下直接cmd进入命令模式,顺序执行一......
  • 缓存
           ......
  • 缓存 Caching
    利用缓存可以让系统的性能得到极大的提升。缓存命中:从缓存中获取了需要的数据就称缓存命中。命中率:多次请求中命中的请求占全部请求次数的百分比。即:缓存命中/全部缓存请......
  • Ubutun操作系统启用/查看/刷新本地DNS缓存
    前言①DNS被认为是Internet连接的关键部分之一。目的是更快地访问访问的网站。更常见的是,计算机会跟踪DNS记录,或者将其缓存。②DNS缓存是用于DNS查找的临时存储系统,负责......
  • uni-app:数据缓存(hbuilderx 3.6.18)
    一,代码:1,缓存写入:在被打开页面的onLoad事件中写入把打开的年级和学期写入缓存//加载时访问接口得到数据onLoad(options){......
  • dotnet 缓存
    Net内置内存缓存asp.net中是有缓存的实现:HttpContext.Cache,缓存的数据是放到Web服务器的进程内存里。在控制台、WinForm、子线程、SignalR等不支持HttpContext的......
  • FileWriter和FileReader的底层原理:缓存区技术
    FileReader的底层原理FileWriter的底层原理注意事项FileReader的底层原理字节输入流FileReader用于读出文件中的数据到内存中,而且每次只能读取一个字节。这其中内存......
  • 如何清除Microsoft Teams的缓存
    前言最近,碰到一个很恼火的问题,为什么说恼火呢?就是事情不大,但是处理起来很麻烦,怎么都搞不定。就是,用户更新了Teams的一些信息,但是,在其他人的Teams里面,却一直......
  • KVM虚拟化之磁盘:磁盘缓存模式
     虚拟化一般网络和存储都是难点。下图所示,磁盘I/O从虚拟机到宿主物理机存储的过程。其中虚拟机镜像并不是必须的。并不一定要给虚拟机创建虚拟磁盘文件。我们可以通过逻......