百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达

[海外信息] 服务器38.27.减压缓存103.使用技巧 [复制链接]
查看:491 | 回复:1

1688

主题

1689

帖子

0

积分

落伍者(一心一意)

Rank: 1

贡献
25
鲜花
0
注册时间
2018-9-12

落伍手机绑定

发表于 2019-10-4 23:06:21 | |阅读模式 来自 中国江苏盐城
  一般情况下,在访问量达到一定规模后,数据库的读写会成为一个瓶颈,我们会采用一些手段来对数据库减压,让它可以正常的工作。可以考虑的手段包括读写分离、添加缓存服务器等,读写分离是为了尽量将对数据库的读写动作分开,减少互相之间的影响;添加缓存是为了读库的时候,减少直接读取数据库的动作,将查询的结果存放在缓存中,用户的请求被隔绝在数据库以外,从而减少数据库的压力。这是一个理想状况下缓存工作的方式,但仅仅是理想。

  需要防御大型Dd0S、Cc的网站用户,

  咨询鸿网-lulu 企业扣--2885340638


  缓存穿透

  所谓缓存穿透,是说用户请求在缓存系统中查找结果时候失效,接下来去后端存储系统中查找数据,这个时候,如果数据不存在,而且这个访问也比较大的情况下,大量的访问会直接命中数据库,这时候负责存储的服务器就悲剧了,所以我们就需要做一些努力,使得当数据不存在,往缓存中写入一个标志抑或将空的查询结果存入缓存,减少这种无用的请求频繁命中数据库的情况

  也可以将确认为空或者空的查询结果存储到单独的缓存区域中。

  缓存雪崩

  1、我们采用多实例的方式来保证缓存的高可用性,尽量避免当个别实例出现问题之后,引起全局缓存的问题。这类方案很多,比如memcache的一致性hash,redis的cluster机制,来避免单点的故障,这类资料可以搜索一下关于redis或者memcache的高可用方案。

  2、降级机制。这个方法在很多高可用设计中可能也有描述,简单一点说就是我们将用户与用户之间,资源与资源之间进行隔离,当某一部分数据产生问题之后或者对某一部分的请求到达一个阀值之后,根据预设的机制,对请求只返回热点数据,保证客户端不会产生天窗或者说一直无法响应的问题。

  3、加锁。对于到达的请求,我们用锁的机制,来尽量使它们排队处理从而减少对数据库产生并发。可以参考的锁方案有两种,一种是使用全局锁或者字符串锁等方案,是一个请求进行操作的时候,其他的请求处于等待状态,当这个请求处理完毕之后进行下一步的业务处理,但是这样的话如果一个请求挂掉,会对后面排队的请求产生影响,而且请求的处理可能不会短时间处理完毕,会导致请求阻塞的时间过长等问题,第二种方案就是在进行操作的时候,其他请求进来的时候判断是否有锁存在,如果存在直接跳过处理,返回热点数据。

656

主题

3万

帖子

6875

积分

落伍者(三羊开泰)

Rank: 3Rank: 3

贡献
3997
鲜花
9
注册时间
2010-2-26

落伍手机绑定落伍者

发表于 2019-10-4 23:17:08 | 来自 中国江苏苏州
挺不错的服务器
论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-5-18 20:11 , Processed in 0.141322 second(s), 34 queries , Gzip On.

返回顶部