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

自助建站系统哪个好用网站制作公司在哪里找

自助建站系统哪个好用,网站制作公司在哪里找,王也道长高清头像高马尾,网站建设模块需求Redis最主要的用途,分为三个方面: 1.存储数据(内存数据库) 2.缓存(最常用) 3.消息队列 缓存 (cache) 是计算机中的⼀个经典的概念。核⼼思路就是把⼀些常⽤的数据放到触⼿可及(访问速度更快)的地⽅&…

Redis最主要的用途,分为三个方面:

1.存储数据(内存数据库)

2.缓存(最常用)

3.消息队列

缓存 (cache) 是计算机中的⼀个经典的概念。核⼼思路就是把⼀些常⽤的数据放到触⼿可及(访问速度更快)的地⽅,方便随时读取。

使用redis作为缓存

通常是使用redis作为数据库的缓存(mysql),mysql这样的关系型数据库的速度比较慢,就可以使用redis作为mysql的缓存。

如果访问数据库的并发量⽐较⾼, 对于数据库的压⼒是很⼤的, 很容易就会使数据库服务器宕机。

为什么并发量⾼了就会宕机?

服务器每次处理一个请求,一定要消耗一些硬件资源(cpu,内存,硬盘,网络),任意一种资源的消耗超出了机器能提供的上限,机器就很容易故障了。

如何提高mysql能承担的并发量?

1.开源:引入更多的机器,构成数据库集群。

2.节流:引入缓存。把一些频繁读取的热点数据,保存到缓存上。后续在查询数据的时候,如果缓存中已经存在了,就不再访问mysql了。

Redis 访问速度⽐ MySQL 快很多。或者说处理同⼀个访问请求, Redis 消耗的系统资源⽐
MySQL 少很多. 因此 Redis 能⽀持的并发量更⼤.

缓存更新策略

如何知道redis中应该存储哪些数据呢?这就涉及到redis缓存的更新策略。

定期生成

会把访问的数据,以日志的形式记录下来。

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

搜索引擎为例,可以写一套离线的流程,通过定时任务来触发:

a) 完成统计热词的过程。

b)根据热词,找到搜索结果数据(广告数据)

c)把得到缓存数据同步到缓存服务器上

d)控制这些缓存服务器自动重启

优点:实现起来比较简单,过程更可控,方便排查问题。

缺点:实时性不够,如果出现一些突发性事件,有一些本来不是热词的内容,成了热词。新的热词就可能给后面的数据库带来较大的压力。(⽐如春节期间, "春晚" 这样的词就会成为⾮常⾼频的词. ⽽平时则很少会有⼈搜索 "春晚".)

实时生成

实时生成的流程:

• 如果在 Redis 查到了, 就直接返回.
• 如果 Redis 中不存在, 就从数据库查,把查到的结果同时也写⼊ Redis。

可这样不停的写redis,就会使redis的内存占用越来越多。会逐渐达到内存上限。

此时如果继续往里插入数据,就会触发问题。为了解决上述情况,redis就引入了“内存淘汰策略”。

主要有以下几种:

Redis 也提供了内置的淘汰策略, 也可以供我们直接使⽤:

整体来说 Redis 提供的策略和我们上述介绍的通⽤策略是基本⼀致的。只不过 Redis 这⾥会针对 "过期key" 和 "全部 key" 做分别处理。

缓存使用注意事项

缓存预热

缓存中的数据,定期生成不涉及“预热”。

在实时生成时,redis服务器首次接入之后,服务器里时没有数据的。客户端先查询redis,如果没查到,就再查一次mysql,查到了之后,会把数据也写到redis中。

此时,所有的请求都会打给mysql,随着时间的推移,redis上的数据越积累越多,mysql承担的压力就逐渐减小了。

缓存预热,就是用来解决上述问题的。

定期生成和实时生成,结合一下。即先通过离线的方式,通过一些统计的途径,先把热点数据找到一批,导入到redis中。此时导入的热点数据,就能帮mysql承担很大的压力了。随着时间的推移,逐渐就使用新的热点数据淘汰掉旧的数据。

缓存穿透

查询到的某个key,在redis中没有,mysql中也没有。这个key肯定也不会被更新到redis中。如果像这样的数据存在很多,并且还反复查询,一样也会给mysql带来很大的压力。这种情况称为 缓存穿透。

为何会产生这样的现象?

如何解决这种现象?

1)如果发现这个key,在redis和mysql上都不存在,仍然写入redis中,value设置成一个非法值(比如"")

2)引入布隆过滤器,每次查询redis/mysql之前都判定一下key是否在布隆过滤器上存在。(把所有的key都插入到布隆过滤器中)

布隆过滤器:本质上是结合了hash+bitmap,以比较小的空间开销,比较快的时间速度,实现针对key是否存在的判定。

缓存雪崩

由于在短时间内,redis上大规模的key失效,导致缓存命中率陡然下降,并且mysql的压力迅速上升,甚至直接宕机。

为何产生?

1)redis直接挂了。redis宕机/redis集群模式下大量节点宕机。

2)redis没问题,但是可能之前短时间内设置了很多key给redis,并且设置的过期时间是相同的。(给redis里设置key作为缓存的时候,有时为了考虑缓存的时效性,就会设置过期时间)

如何解决?

1)加强监控报警,加强redis集群可用性的保证。

2)不给key设置过期时间/设置过期时间的时候添加随机的因子(避免同一时刻过期)

缓存击穿

相当于缓存雪崩的特殊情况。针对热点 key , 突然过期了, 导致⼤量的请求直接访问到数据库上, 甚⾄引起数据库宕机。热点key访问的频率高,比缓存雪崩影响更大。

如何解决?

1)基于统计的⽅式发现热点 key, 并设置永不过期。往往需要服务器结构做出较大的调整。

2)进行必要的服务降级,在特定的情况下适当的关闭一些不重要的功能,只保留核心功能。例如访问数据库的时候使用分布式锁,限制同时请求数据库的并发数。

以上,关于redis的缓存,希望对你有所帮助。


文章转载自:

http://afkYFY3n.dLwzm.cn
http://x1gkOXpi.dLwzm.cn
http://Wo6Zfama.dLwzm.cn
http://XgfqTiqC.dLwzm.cn
http://p57ZYsRW.dLwzm.cn
http://QeQR8SCx.dLwzm.cn
http://KSd3hZTp.dLwzm.cn
http://Shur9g6X.dLwzm.cn
http://2WF2CzI0.dLwzm.cn
http://CNLp0gfn.dLwzm.cn
http://8yVVU9Sc.dLwzm.cn
http://D3b6mdwV.dLwzm.cn
http://Fm1DeuMC.dLwzm.cn
http://k8UEXjxe.dLwzm.cn
http://BKT0PciS.dLwzm.cn
http://SRW0Zy8f.dLwzm.cn
http://Em5yxS9H.dLwzm.cn
http://ntjL9wPM.dLwzm.cn
http://0czj3h79.dLwzm.cn
http://Dy2guXjR.dLwzm.cn
http://99HGDsSG.dLwzm.cn
http://0FymKgnc.dLwzm.cn
http://hEXc202V.dLwzm.cn
http://7ZILSELd.dLwzm.cn
http://1sNReTT9.dLwzm.cn
http://lqMfzg2d.dLwzm.cn
http://k5SvloBo.dLwzm.cn
http://qJ405p8U.dLwzm.cn
http://psx1KMd6.dLwzm.cn
http://NMgdb8c5.dLwzm.cn
http://www.dtcms.com/wzjs/688596.html

相关文章:

  • 某公司网站策划建设wordpress 广告关闭
  • 赣州网站建设联系方式商场装修
  • 个人网站风格网站建立需要什么
  • 网站开发市场前景wordpress 用户打赏
  • 深圳o2o网站建设企业运营效率的三个指标
  • 获得网站php管理员密码合肥哪个公司做网站好
  • 知名营销网站山东网站
  • 企业网站建设英文珠海市住房城乡建设局网站
  • 精通网站建设需要学什么小工作室做网站
  • 淮北市网站制作公司广东网站建设包括什么软件
  • 圣辉友联网站建设中国建设工程造价管理系统网站
  • 公司怎么做网站centos 安装wordpress lnmp
  • 用cms创建自己带数据库的网站广东网站建设的
  • 网站建设项目组工作总结网站开发建设合同范本
  • 建设一个网站需要哪些硬件设备浙江网站建设推广公司找哪家
  • 个人做流量大的网站网站建设需要写语句吗
  • 公司网站上荣誉墙怎么做手机网站建设规范
  • 网站建设太原小程序解决方案网页模板下载
  • 网站运营的案例网站建设技术中心
  • 深圳建网站信科wordpress手机建站教程
  • 效果图网站大全微信ios分身版下载
  • 做网站的销售小规模企业所得税怎么算
  • 手机套 东莞网站建设报考网页
  • 宁波网站制作 收费数据库与网站
  • 青岛建设银行官方网站招商网站建设解决方案
  • 如何做网站教学外国网站建设
  • 德州网站建设哪家好公司营业执照可以做几个网站
  • 西安免费做网站wordpress干洗店模板
  • 大连网站建设新图闻wordpress 存储
  • 临安区规划建设局网站网站建设 临沂