有很多解决高并发的应用场景中都会使用memcache\redis缓存来解决响应慢的问题,但是缓存也不是万能的,在使用方面有很多的考虑的问题,把缓存比喻成防弹衣,但是如果你没有穿好这件防弹衣会适得其反,下面我根据自己的理解就展开来谈谈。
在高并发场景下有一个常常被忽略的一个地方,读多还是写多,读多写少用缓存,写多读少用队列。
为什么要用缓存?为了系统的高性能,在每个系统的性能指标中有两个重要的点,一个是性能最佳点和性能最大值,超过最大融载值就走向系统崩溃的边缘了。
【资料图】
缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。
解决方案:
1.在服务器端,接收参数时业务接口中过滤不合法的值,null,负值,和空值进行检测和空值。
2.bloom filter:类似于哈希表的一种算法,用所有可能的查询条件生成一个bitmap,在进行数据库查询之前会使用这个bitmap进行过滤,如果不在其中则直接过滤,从而减轻数据库层面的压力。
3.空值缓存:一种比较简单的解决办法,在第一次查询完不存在的数据后,将该key与对应的空值也放入缓存中,只不过设定为较短的失效时间,例如几分钟,这样则可以应对短时间的大量的该key攻击,设置为较短的失效时间是因为该值可能业务无关,存在意义不大,且该次的查询也未必是攻击者发起,无过久存储的必要,故可以早点失效。
因为缓存服务挂掉或者热点缓存失效,所有请求都去查数据库,导致数据库连接不够或者数据库处理不过来,从而导致整个系统不可用。
解决方案:
加锁排队、 设置过期标志更新缓存 、 设置过期标志更新缓存 、二级缓存(引入一致性问题)、 预热、 缓存与服务降级。
1.线程互斥:只让一个线程构建缓存,其他线程等待构建缓存的线程执行完,重新从缓存获取数据才可以,每个时刻只有一个线程在执行请求,减轻了db的压力,但缺点也很明显,降低了系统的qps。
2.交错失效时间:这种方法时间比较简单粗暴,既然在同一时间失效会造成请求过多雪崩,那我们错开不同的失效时间即可从一定长度上避免这种问题,在缓存进行失效时间设置的时候,从某个适当的值域中随机一个时间作为失效时间即可。
缓存击穿实际上是缓存雪崩的一个特例,缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。击穿与雪崩的区别即在于击穿是对于某一特定的热点数据来说,而雪崩是全部数据。
解决方案:
1.缓存设置不过期。
从redis上看,确实没有设置过期时间,这就保证了,不会出现热点key过期问题,也就是物理不过期。但是它会遇到一个数据更新的问题,或者说数据不一致的问题。
在value中存储过期时间,在编码处理的时候,有条件(过期时间小于一分钟)对缓存数据进行更新,这个方案对性能最佳。
2.使用锁工具(分布式锁)
$redis->setnx($key,time()+$expire); # 加锁$redis->del($key); # 解锁#新版本加锁#NX意思为SET IF NOT EXIST,即当key不存在时,我们进行set操作;#若key已经存在,则不做任何操作;#PX意思是给这个key加一个过期设置$redis->set($resource, $token, ["NX", "PX" => 10 ]);
总结:缓存好比防弹衣,不意味着你穿上防弹衣就可以刀枪不入,只有更好的使用缓存才会达到更好的作用,方案有很多,适合你的就是好的。
标签:
有很多解决高并发的应用场景中都会使用memcache redis缓存来解决响应慢的问题,但是缓存也不是万能的...
4月13日,媒体晒出了一则知名相声演员曹云金的近况,只见他深夜和一位异性同回酒店,被疑有新欢了。当年...
“当你需要鸡蛋炒菜的时候,突然发现家里没有鸡蛋了,也不想换鞋换衣出去买的时候,即时零售消费模式的...
头部“御三家”蔚来、小鹏、理想,似乎也挑战不断。近日,蔚来、小鹏、理想分别公布了今年3月的交付成绩...
湖北省第十六届运动会12日晚在宜昌市奥林匹克体育中心开幕,来自该省的29个代表团共3万余名参赛人员汇聚...
“警察敲错门,打死无辜住户,听起来荒唐,但它就发生在现在的美国。作者:刘潇假如罗伯特·多特森地下...
4月12日,杨丽萍的助理发布自己和杨丽萍在蒙自享用美食的视频,引起网友热议。视频中杨丽萍介绍,过桥米...
4月13日,某知名娱记曝出了一段娱乐圈秘辛,透露了某出轨男星和某小三女星分道扬镳的过程,引起了各位吃...
上海老庙黄金价格今天多少一克(2023年04月13日)每日更新
4月13日,演员张博宇的近照引起了网友关注,许久不见,他发福了不少,整个人显得格外沧桑。作为知名演员...
刚刚在中国国家大剧院完成三天五场演出的舞剧《咏春》是首次来北京,剧组感受到观众的巨大热情。诞生于1...
抖音电商虽一飞冲天,但它仍面对着淘宝、拼多多等“长辈”都头疼过并花费巨大精力才有所处理的问题,冒...
还记得《大宋提刑官》里的竹英姑罗海琼吗?多年前她嫁给华谊总裁逐渐息影,世人都以为她过着出入上流社...
【陈奕天气质超群简直是在粉丝的审美点上蹦迪】陈奕天利用卫衣、牛仔、白T等多种单品,打造成熟、运动的...
据国家电影专资办统计,截至3月31日,2023年全国城市院线票房达158 57亿元,同比增长13 45%,观影总人...
海外网4月13日电据美国福克斯新闻旗下的WDAF电视台4月12日报道,美国“枪支暴力档案”网站数据显示,今...
4月12日,香港故宫文化博物馆PO出靓照,日前特别展览“百样玲珑”举行开幕典礼,演员林青霞、刘嘉玲以及...
成年人的交往,太近容易惹来麻烦,太远容易形同陌路。作者:一九六七来源:京博国学(ID:jingboguoxue)...
【亲和力十足陈奕天COS嬴政被粉丝围着合照】陈奕天COS了王者荣耀里的游戏人物——嬴政,还原度超过80%。...
原标题:主播收入缩水是“去泡沫化”随着电商直播行业的兴起,带货主播的收入一度水涨船高,头部主播动...
4月12日,有媒体曝光了王灿带女儿到片场探班杜淳的画面,杜淳在女儿面前吸电子烟,小蛋饺看起来似乎也不...
欧冠那不勒斯0-1米兰,那不勒斯主帅斯帕莱蒂接受采访。“事后评论比赛是浪费时间,因为我们无法改变已经...
4月12日,杨丽萍的御用化妆师VCD晒出视频,分享自己与杨丽萍外出吃大餐的画面,并感叹地发文“除了化妆...
被誉为不老女神的赵雅芝,生图是什么样的?近日,有网友晒出赵雅芝参加荆州楚文化节时的照片,他直接放...
国际超模怀孕期间如何控制体重?来看看超模雎晓雯孕期的近照吧。4月12日,雎晓雯发文称:“记录一下。”...
三星固态硬盘价格大跌!三星870QVO4TBSSD现在的京东价格降至1499元。该型号于2020年7月上市时的价格为40...
港口是外贸的“晴雨表”,今年以来多地港口吞吐量持续增长。3月,上海港海铁联运箱量突破5万标准箱大关...
星二代会等比例长大吗?先来看看小时候的嗯哼,他的长相完美地遗传了霍思燕与杜江的优点,尤其是那双像...
4月12日,鲍蕾在社交账号上晒出视频,曝光一家四口游动物园的画面,并配文“老虎饿了”,引发网友热议。...
【“夸父一号”卫星观测数据向国内外试开放】记者从中国科学院紫金山天文台获悉,2023年4月11至12日,由...
Copyright © 2015-2022 国华娱乐网版权所有 备案号:京ICP备2021034106号-22 联系邮箱:55 16 53 8 @qq.com