mysql 的几种缓存

缓存穿透与雪崩问题及解决办法
博客介绍了缓存穿透和缓存雪崩问题。缓存穿透指查询缓存无值后查数据库,大量访问会给数据库造成压力,可存入null并设短有效期解决;缓存雪崩是因缓存服务器重启或大规模缓存到期致数据库压力大,可关闭外网服务、预热缓存等解决,也可通过设置不同到期时间等预防。

1,缓存穿透

            当查询缓存是无此key对应的值,后去数据库查询,数据库有值时存入缓存无值时返回无此值,但再一次查此key是还是一样的结果,但大量的访问此key是对数据库会造成更大的压力

            解决办法

                   当查询缓存是无此而已的值时,查询数据库,有值时存入缓存,物质是同样存入一个null  并设置较短的有效时间,但再次查询此key时,查询结果的结果为null是展示无数据

2,缓存雪崩

        定义

                在缓存服务器重启或大规模的缓存时间到期导致请求到范文数据库查询。使mysql压力太大奔溃

        雪崩后解决方法

                1,雪崩后关闭外网服务,对数据库 预热缓存   在开启外网服务

         预防雪崩

                 1,将缓存的key的到期时间设置为不同个的时间,避免同一个时间段大规模的缓存失效 

                  2,将缓存备份

3,缓存预热

            将常用的缓存提前存入缓存中

4,原子缓存

            将缓存变成一个最小的理论,当其他的地方用的是后调用只一个就可以,这样就可以省出一些缓存空间

                相当于变相的将缓存文件增加复用性

6,分页缓存

               点击页码缓存中查询若无值去数据库查存入缓存并生成一个特殊的key(带页码) ,再次点击页码时根据页码查询瓷业的key名。

7,查询缓存

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值