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

地方生活门户网站有哪些秦皇岛seo网站推广

地方生活门户网站有哪些,秦皇岛seo网站推广,北京商场恢复营业,深圳网站设计优异刻目录 缓存更新策略 定期⽣成 实时⽣成 缓存淘汰策略 Redis内置缓存淘汰策略 缓存预热 缓存穿透 缓存雪崩 缓存击穿 缓存更新策略 定期⽣成 每隔⼀定的周期(⽐如⼀天/⼀周/⼀个⽉), 对于访问的数据频次进⾏统计. 挑选出访问频次最⾼的前 %N的数据. 实时⽣成 先给缓存…

目录

缓存更新策略

定期⽣成

实时⽣成

缓存淘汰策略

Redis内置缓存淘汰策略

缓存预热

缓存穿透

缓存雪崩

缓存击穿


缓存更新策略
定期⽣成

每隔⼀定的周期(⽐如⼀天/⼀周/⼀个⽉), 对于访问的数据频次进⾏统计. 挑选出访问频次最⾼的前 %N的数据.

实时⽣成

先给缓存设定容量上限(可以通过 Redis 配置⽂件的 maxmemory 参数设定).
接下来把⽤⼾每次查询:
• 如果在 Redis 查到了, 就直接返回.
• 如果 Redis 中不存在, 就从数据库查, 把查到的结果同时也写⼊ Redis.

如果缓存已经满了(达到上限), 就触发缓存淘汰策略, 把⼀些 "相对不那么热⻔" 的数据淘汰掉.
按照上述过程, 持续⼀段时间之后 Redis 内部的数据⾃然就是 "热⻔数据" 了.

缓存淘汰策略

FIFO (First In First Out) 先进先出
把缓存中存在时间最久的 (也就是先来的数据) 淘汰掉.

LRU (Least Recently Used) 淘汰最久未使⽤的
记录每个 key 的最近访问时间. 把最近访问时间最⽼的 key 淘汰掉.

LFU (Least Frequently Used) 淘汰访问次数最少的
记录每个 key 最近⼀段时间的访问次数. 把访问次数最少的淘汰掉.

Random 随机淘汰
从所有的 key 中抽取幸运⼉被随机淘汰掉.

Redis内置缓存淘汰策略

Redis 内置的淘汰策略如下:

• volatile-lru 当内存不⾜以容纳新写⼊数据时,从设置了过期时间的key中使⽤LRU(最近最
少使⽤)算法进⾏淘汰
• allkeys-lru 当内存不⾜以容纳新写⼊数据时,从所有key中使⽤LRU(最近最少使⽤)算法进⾏淘汰.
• volatile-lfu 4.0版本新增,当内存不⾜以容纳新写⼊数据时,在过期的key中,使⽤LFU算法
进⾏删除key.
• allkeys-lfu 4.0版本新增,当内存不⾜以容纳新写⼊数据时,从所有key中使⽤LFU算法进⾏
淘汰.
• volatile-random 当内存不⾜以容纳新写⼊数据时,从设置了过期时间的key中,随机淘汰数
据.
• allkeys-random 当内存不⾜以容纳新写⼊数据时,从所有key中随机淘汰数据.
• volatile-ttl 在设置了过期时间的key中,根据过期时间进⾏淘汰,越早过期的优先被淘汰.
(相当于 FIFO, 只不过是局限于过期的 key)
• noeviction 默认策略,当内存不⾜以容纳新写⼊数据时,新写⼊操作会报错.

缓存预热

定义

缓存预热是指在系统启动之前或系统达到高峰期之前,通过预先将常用数据加载到缓存中,以提高缓存命中率和系统性能的过程。

目的

尽可能地避免缓存击穿和缓存雪崩。
减轻后端存储系统的负载,提高系统的响应速度和吞吐量。
减少冷启动影响,即系统重启或新启动时,避免首次请求处理缓慢。
提高数据访问速度,确保数据快速可用。
平滑流量峰值,帮助系统更好地处理高流量。
保证数据的时效性,特别是对于高度依赖于实时数据的系统。

预热方法

系统启动时加载:在系统启动时,将常用的数据加载到缓存中。
定时任务加载:定时执行任务,将常用的数据加载到缓存中,以保持数据的实时性和准确性。
手动触发加载:在系统达到高峰期之前,手动触发加载常用数据到缓存中。
用时加载:在用户请求到来时,根据用户的访问模式和业务需求,动态地将数据加载到缓存中。
缓存加载器:一些缓存框架提供了缓存加载器的机制,可以在缓存中不存在数据时,自动调用加载器加载数据到缓存中。

缓存穿透

定义

缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。

产生原因

恶意攻击:攻击者故意查询不存在的数据,以此来消耗系统资源。
频繁查询不存在的数据:系统中的业务逻辑错误或设计不合理,导致频繁查询不存在的数据。

解决方案

对查询结果为null的数据进行缓存,设定短时限,例如30~60秒,最高5分钟,并定期进行清理。
使用布隆过滤器,通过哈希思想快速判断一个数据是否存在于集合中,从而避免无效的查询。
对URL中的key id值进行对称加密,防止黑客攻击。

缓存雪崩

定义

缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至宕机。

产生原因

Redis宕机。
采用了相同的过期时间,导致大量缓存同时失效。

解决方案

给不同的Key的TTL(Time To Live)添加随机值,避免大量缓存同时失效。
利用Redis集群提高服务的可用性。
给缓存业务添加降级限流策略。
给业务添加多级缓存。

缓存击穿

定义

缓存击穿是指一个热点的Key,有大并发集中对其进行访问,突然间这个Key失效了,导致大并发全部打在数据库上,导致数据库压力剧增。

产生原因

某个热点的key失效了,此时有大量请求同时访问该数据。
并发查询:多个请求同时查询一个数据,导致缓存未命中,请求直接访问数据库。

解决方案

使用互斥锁:当缓存数据为空时,使用互斥锁保证只有一个线程可以访问数据库,其他线程等待该线程查询数据库并将结果写入缓存。
使用布隆过滤器快速判断一个key是否存在于缓存中,从而避免无效的查询。
预加载:在缓存中设置短暂的过期时间,当缓存数据即将过期时,提前异步更新缓存。

http://www.yayakq.cn/news/837474/

相关文章:

  • 小白如何做网站建设公众号wordpress如何添加顶层菜单
  • 有源码手机怎么搭建网站wordpress多个视频
  • 一家专门做母婴的网站宣威市网站建设
  • 河南郑州网站推广优化做信息类网站
  • 石家庄做网站公司企业门户网站系统
  • 淘宝客领券网站怎么做优化营商环境的措施建议
  • 嘉兴网站建设推广网络培训网站
  • 有什么网站可以做商品展示的吗游戏网官网
  • 房产经纪人如何做网站吸客网站建设与设计教程视频教程
  • easyUI网站开发邯郸网站seo
  • 上海做网站品牌公司wap网站开发流程
  • 泗洪企业网站建设四种营销模式
  • layui响应式网站开发教程模板网站 优帮云
  • 牛视频网站建设p2p网站开发维护
  • 站长工具高清有吗wordpress能放视频教程
  • 响应式网站设计规范南京建筑公司
  • 广东深圳网站建设微信商城开发勉县网站建设
  • 黄浦区做网站网页版qq音乐登录入口
  • 江都区城乡建设局门户网站专业建模的三维扫描仪
  • 可以免费建设网站xampp php网站模板
  • 宠物网站建设需求分析网站开发主要学什么
  • 如何给网站做优化劲松网站建设公司
  • icp网站建设html代码大全网页设计
  • 深圳 企业网站建设搜索网站定制公司
  • 江苏常州武进区建设局网站自己搭建的网站可以收费吗
  • 合肥网站开发cnfg上海企业网络推广价格
  • 多少钱可以做网站百度百度一下首页
  • 常用搜索网站游戏模板 wordpress
  • 静态网站开发课程网做circrna的网站
  • 三门峡网站建设电话资兴市住房和城乡建设局网站