当前位置: 首页 > news >正文

六合网站建设郑州做网站推广资讯

六合网站建设,郑州做网站推广资讯,h5游戏平台代理,廊坊商昊网站建设【遇见青山】项目难点:缓存穿透的解决方案1.缓存穿透现象缓存空对象布隆过滤其他方案2.解决方案,缓存空数据1.缓存穿透现象 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据…

【遇见青山】项目难点:缓存穿透的解决方案

  • 1.缓存穿透现象
    • 缓存空对象
    • 布隆过滤
    • 其他方案
  • 2.解决方案,缓存空数据

1.缓存穿透现象

缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。(一般是指黑客的恶意流量攻击)

常见的解决方案有两种:

缓存空对象

在这里插入图片描述

  • 优点:实现简单,维护方便
  • 缺点:额外的内存消耗,可能造成短期的不一致

布隆过滤

在这里插入图片描述

  • 优点:内存占用较少,没有多余key
  • 缺点:实现复杂,存在误判可能

其他方案

  • 增强id的复杂度,避免被猜测id规律
  • 做好数据的基础格式校验
  • 加强用户权限校验
  • 做好热点参数的限流

2.解决方案,缓存空数据

首先,在第一次查询不存在时,缓存空数据数据到Redis中:

// 不存在,查询数据库
Shop shop = getById(id);
// 查询数据库不存在,返回错误
if (shop == null) {// 将null值写入Redis,防止缓存穿透问题stringRedisTemplate.opsForValue().set(CACHE_SHOP_KEY + id, "", CACHE_NULL_TTL, TimeUnit.MINUTES);return Result.fail("店铺不存在!");
}

在查询数据库之前,判断缓存的值是否为""值,如果是则直接返回错误:

// 判断命中的是否为空值 ""
if ("".equals(shopJson)) {return Result.fail("店铺信息不存在!");
}

测试:查询不存在的商户信息,Redis中保存了""值,再次查询时,则不通过数据库,直接在缓存层命中

在这里插入图片描述

http://www.hkea.cn/news/884784/

相关文章:

  • 扬中网站建设墨子学院seo
  • 分析电子商务网站建设需求教案青岛今天发生的重大新闻
  • 汕头模板开发建站百度发布信息怎么弄
  • 健身网站开发项目总结关键词筛选工具
  • 重庆网站建设零臻靠谱国内永久免费的云服务器
  • 软件库合集软件资料2024郑州百度快照优化
  • 房地产开发公司网站建设方案seo去哪里学
  • 做网站可以赚钱吗百度小说搜索风云排行榜
  • 做网站交接需要哪些权限网站seo视频教程
  • 在网站怎么做收款二维码刷移动关键词优化
  • 问信息奥赛题怎么做 去哪个网站互联网网络推广
  • b2c电子商务网站系统下载专业网站seo推广
  • 引流推广的方法seo诊断工具
  • 平阴县建设工程网站直通车推广怎么做
  • 网站开发外包不给ftp高佣金app软件推广平台
  • 太原适合网站设计地址百度用户服务中心客服电话
  • 济南源码网站建设长沙网站seo推广公司
  • 北京网站制作17页和业务多一样的平台
  • 无锡市住房城乡建设委网站简单网页设计模板html
  • 武汉市大型的网站制作公司网站ip查询
  • 做仪表行业推广有哪些网站电商网站设计
  • 动静分离网站架构百度售后客服电话24小时
  • 做汽车配件生意的网站佛山seo关键词排名
  • 创意建站推荐百度做广告多少钱一天
  • 巴中网站建设公司百度seo怎么做网站内容优化
  • 查网站备案名称上海网络营销seo
  • 人是用什么做的视频网站网络营销方案设计毕业设计
  • 建设网站考虑因素关键词优化是怎么弄的
  • 陕西营销型网站建设推广普通话的内容简短
  • 做配电箱的专门网站百度指数属于行业趋势及人群