首页 > 数据库 >Redis缓存穿透

Redis缓存穿透

时间:2024-07-03 21:52:26浏览次数:16  
标签:--- 缓存 redis Redis bitmaps 穿透 访问 id

现象:
1、应用服务器压力变大
2、redis命中率降低
3、一直查询数据库

产生原因;
1、redis查询不到数据
2、出现很多非正常URL访问

解决方案:
1、对空值做缓存
---如果一个查询返回的数据为空(不管是数据是否不存在),我们仍然把这个空结果(null)进行缓存,设置空结果的过期时间会很短,最长不超过五分钟

2、设置可访问名单(白名单)
---使用bitmaps类型定义一个可以访问的名单,名单id作为bitmaps的偏移量,每次访问和bitmaps里面的id进行比较,如果访问id不在bitmaps里面,进行拦截,不允许访问

3、采用布隆过滤器
---它实际上是一个很长的二进制向量(位图)和一系列随机映射函数(哈希函数)

4、进行实时监控
---当发现redis的命中率开始极速降低,需要排查访问对象和访问的数据,和运维人员配合,可以设置黑名单限制服务

标签:---,缓存,redis,Redis,bitmaps,穿透,访问,id
From: https://www.cnblogs.com/ahao214/p/18282620

相关文章

  • Centos7下安装Redis
    1.安装依赖redis是由C语言开发,因此安装之前必须要确保服务器已经安装了gcc,可以通过如下命令查看机器是否安装:gcc-v如果没有安装则通过以下命令安装:yuminstall-ygcc2.下载redis安装包并解压#下载,我是在root下执行的下载,所以我的下载目录为:/root/redis-6.2.6,这里......
  • 搭建redis cluster集群
    环境:RedhatLinux7.x系统主机:192.168.1.1-192.168.1.6Redis版本5.0.3版本说明:一般情况下,redis使用虚拟机部署即可1.安装redis将redis-5.0.3.tar.gz安装包上传至/app目录下解压软件包tar-zxvfredis-5.0.3.tar.gz-C/app编译rediscd/app/redis-5.0.3&&makeMALL......
  • python操作哨兵、集群、缓存优化
    【python操作哨兵】11redis的主从,一主多从22高可用:sentinal:哨兵3多个哨兵:配置文件---》监控我们主从状态--》当发现主库--》故障转移43python如何操作哨兵567--------------------------------------------------------------------------------......
  • GuavaCache、EVCache、Tair、Aerospike 缓存框架比较
    GuavaCache、EVCache、Tair、Aerospike是不同类型的缓存解决方案,它们各有特点和应用场景。下面我会逐一分析这些缓存系统的优势、应用场景,并提供一些基本的代码示例。GuavaCache优势特点:内置在Guava库中,易于集成和使用。提供了丰富的缓存配置选项,如过期策略、缓存加载策略......
  • 小白新手基于云数据库 Redis 搭建 游戏排行榜
    小白新手基于云数据库Redis搭建游戏排行榜免费试用搭建游戏排行榜搭建基础环境JDK、Maven部署游戏排行榜写在最后操作感受其他应用免费试用在开始搭建游戏排行榜之前,我们首先需要领取阿里云社区为我们准备的免费资源,比如云数据库Redis版免费试用点击【立即......
  • redis - [05] Java & Redis
    题记部分 一、准备工作下载jedis.jar或者在maven配置文件中配置jar包依赖 二、连接redisimportredis.clients.jedis.Jedis;publicclassRedisJava{publicstaticvoidmain(String[]args){//连接本地的Redis服务Jedisjedis=newJed......
  • MyBatis中的缓存
    一级缓存一级缓存默认会启用,想要关闭一级缓存可以在select标签上配置flushCache=“true”;一级缓存存在于SqlSession的生命周期中,在同一个SqlSession中查询时,MyBatis会把执行的方法和参数通过算法生成缓存的键值,将键值和查询结果存入一个Map对象中。如果同一个SqlSess......
  • Android经典面试题之Glide的缓存大揭秘
    本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点Glide缓存关联类:Engine、LruResourceCache、LruCache、ActiveResourcesActiveResources:弱引用缓存池@VisibleForTestingfinalMap<Key,ResourceWeakReferenc......
  • Redis-分布式锁(基本原理和不同实现方式对比)
    文章目录1、基本原理2、不同实现方式1、基本原理分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路......
  • redis持久化
    redis持久化1.1介绍#redis持久化redis作为一个内存数据库,数据是以内存作为载体存储的,那么一单redis服务器进程退出,服务器中的数据也会消失。为例解决这个问题,redis提供了持久化机制。也就是把数据保存在磁盘中。有两种方式保存。#rdb快照持久化rdb快照的方式是指在一定的......