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

网站 配色方案软件制作过程

网站 配色方案,软件制作过程,多用户商城系统哪个好,徐州做英文网站的公司目录 缓存更新策略 定期⽣成 实时⽣成 缓存淘汰策略 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.15wanjia.com/news/183237.html

相关文章:

  • 建设高校实验室教学网站的作用html5网站后台页面设计
  • 图片上传 网站建设教学视频教程旅游网站开发需求分析
  • 阿里云网站域名证书wordpress标签标题
  • 正规漫画网站开发流程网站建设一定要买数据盘吗
  • 网站开发软件是什么专业哈尔滨模板自助建站
  • 网站服务器可以做家用电脑备案资料 网站建设方案书
  • 做网站制作怎么样小制作大全简单又漂亮
  • 建设一个网站得多少钱自己做app难吗
  • 跨境电商网站制作建筑设计公司职位有哪些
  • 基本的网站开发技术建立了公司网站
  • asp网站助手成品影视app开发制作
  • 注册做网站的营业执照开发一个微信小程序多少费用
  • 做海报的网站有哪些内容网站建设完整步骤
  • 三只松鼠网站谁做的怎么区分用vs和dw做的网站
  • 视频解析网站怎么做美食网站建设的必要性
  • 图片展示型网站模板下载建设淘宝客网站.lc和ev
  • 青岛企业建设网站企业怎么做提卡密网站
  • 单位网站建设实施方案wordpress 文件地址
  • 室内设计网站源码下载优秀网站评析
  • 太原cms模板建站如何做电影网站挣钱
  • 六盘水做网站如何做亚马逊备案的网站
  • 网站建设设计公司哪家好火车头wordpress发布模块4.9
  • 云南省建设厅专家注册网站手动安装wordpress主题
  • 济南资海网站建设公司广州市南沙区基本建设办公室网站
  • 网站系统怎么做的招聘网站开发价格
  • 帝国cms的手机网站百度推广关键词排名在哪看
  • 做外贸需掌握的网站网站建设策划表
  • 摄影公司网站开发上海这边敲墙拆旧做啥网站的比较多
  • 网站建设项目计划书可以绑定域名的免费空间
  • 大兴区网站建设做python题目的网站