缓存穿透、缓存击穿、缓存雪崩概念及解决方案

一、缓存穿透概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤;访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。二、缓存雪崩概念大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。解决方案可

php

laravel为模型中所有查询统一添加where条件

在使用laravel开发web系统的过程,需要在model处为该模型统一添加一个条件或者多个条件,研究了一个laravel的模型类,发现model中有个方法是构建查询的,方法如下:/** * Register the global scopes for this builder instance. * * @param \Illuminate\Database\Eloquent\Builder

mysql

mysql索引优化原理 推荐

mysql索引如何优化,MySQL Hash索引和B+ Tree索引的区别

redis

缓存穿透、缓存击穿、缓存雪崩概念及解决方案 推荐

一、缓存穿透概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤;访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。二、缓存雪崩概念大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。解决方案可

nginx

nginx如何配置https

nginx如何配置https教程

开发工具

vscode好用的插件

vscode好用的插件推荐

邻居