推广

(13)<架构解决方案>缓存

iseeyu2年前 (2024-02-22)推广140

二、堆外内存off-heap

避免热点数据,占用系统内存

1、优点:1)减少gc次数  降低暂停时间    2)扩展和使用更多内存    3)省去物理内存和heap间复制

2、宝jdk实现:生命周期长对象从heap内移外,gc不能管理。ps:逃逸分析技术成熟,也可在栈上分配

3、如何使用物理内存:可限制容量,超出oom

4、何时释放

DirectByteBuffer对象被gc时,堆外内存一起释放

三、redis

本地缓存无法水瓶扩容,cluster容量可无限延伸

1、基于jedis客户端操作:

2、cluster的sharding

1)hash算法:扩容,历史数据要全部迁移

2)一致性hash算法:无需全部迁移,但node少时,会数据倾斜,在节点ip/主机名后增加编号,让其均匀分布

3)分槽:介于两者之间,slot固定,永远被路由到同一个

3、基于jedisCluster的读写操作

可指定单个节点

4、基于lettuce客户端的读写分离

jedis不支持集群的读写分离,lettuce可同步/异步,底层基于nio模型的netty

优点:水平扩容,无限延伸,不用手动调整连接吃maxTotal,避免本地缓存穿透

四、多级缓存

本地:共享一个进程内的heap,存热点数据

cdn:存商品图片、视频

1.不一致

因时差造成,允许脏读,扣库存时显示售完

2.本地缓存更新策略(主/被动)

1)被动更新:过期则回源,保证单线程,避免失效大量请求,穿透引起雪崩

guava

2)主动更新:修改后,异步写到队列,更新缓存

3、缓存穿透思考

大促前从运营那熟悉热点key,放在配置中心内

五、扣库存问题

1、行锁 

表中version,流量高峰引起大量线程竞争行锁,影响db tps,rt上升,引起雪崩

2、redis乐观锁

(1)基本命令

    1)watch:监视key(可多个),事务发生前key改变,事务则失败

    2)multi:将事务内多条命令,按先后顺序放进队列

    3)exec:最后原子性提交执行

(2)watch内部实现原理

客户端如何感知:每个db都是redis.h/redis.db结构表示,起内部存了watch_keys(被监视的目标key)

multi.c/touchWatchKey函数对watch_keys字典检查,有修改的key标记为redis_dirty_cas,后续提交事务发生中断

(3)jedis乐观锁

(4)缺省路由实现

缺点:并发越高,watch碰撞概率越大,解决:读写合成一条命令,嵌入式lua脚本

3、redis+lua (性能最好)

redis2.6之后,内置lua解释器,但eval / evalsha命令执行时,redis把它当成单条在执行

(1)lua脚本

(2)eval / evalsha 嵌入redis执行

    1)eval:重复向redis传相同lua脚本,网络开销大

    2)evalsha:从redis获取已缓存好的脚本,节省。但用evalsha前,先用script load命令加载lua到缓存中,等redis会等sha1校验码,后续用时,传校验码即可

用evalsha执行lua脚本

4、库存变化后如何同步给db

synchronized:竞争激烈用更好

cas:https://www.jianshu.com/p/6d1f3b2a3ac0    会因无限重试,占用过多cpu

5、AliSQL

对热点数据做hash,收集所有库存一次性提交(设置阈值)

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://0291.com.cn/post/56275.html

相关文章

产品怎么引流推广(6个新手有效推广引流指南)

产品怎么引流推广(6个新手有效推广引流指南)

现在互联网的发展已经非常迅速了,不管是电商平台还是线下的实体店,都已经成为了我们新时代发展的一部分。所以,在网络的浪潮下,作为企业,如果想要获得更多的流量就必须要引流。我们都知道引流是一个很好又很重要的事情,如果没有足够多的流量,可能很难成功。今天我们就来谈谈产品怎么引流。 一、标题引流...

朋友圈早安图片正能量激励语录,努力造就实力,态度决定高度

朋友圈早安图片正能量激励语录,努力造就实力,态度决定高度

唯有努力,才能得到自己想要的东西!周三,早安!每个人都渴望被认可,学会欣赏并由衷赞美。周三,早安!人生不会一直如你所愿,跌宕起伏才是人生。就像心跳一样,它是有高有低的。——董宇辉岁月是有痕的,未来是由现在创造的。你看过的书、经历的事、走过的地方、做出的努力,都会悄悄影响你、...

东方甄选直播带货框架

东方甄选直播带货框架

  最近,东方甄选自建App的消息引起了业内的不小讨论。 新榜编辑部观察发现,东方甄选App“提供一站式购物体验,源头直采、严格品控、贴心售后”,除自营商品外,共有生鲜果蔬、海鲜水产等11个类目,与东方甄选抖音商城基本一致。 图源:网络 据不完全统计,截至发稿前...

关注企业优化教程。

关注企业优化教程。

企业网站查找优化教程的中心点在于做方针关键词,做方针关键词的站外要素很大程度上是发外链即锚文本建造,想要获得搜索引擎优化优化排名的着陆页很大程度上是首页。 运用首页做企业网站方针关键词排名,就是中心的操作点。相关的教程有许多,主张相关优化工作者掌握更能影响关键词排名的中心要素,如典型的锚文本,如典...

约翰·杜威:思维,意味着再思维一次

本书探讨了人类的本质。运用大量日常中的案例,详细阐述了我们进行思维时的不同过程。约翰·杜威(John Dewey),20世纪最重要的哲学家、教育学家之一,实用主义哲学的创始人之一。他的思想涵盖逻辑学、认识论、心理学、教育学、社会哲学、美术和宗教。全书共三部分,第一部分“思维...

有了它卧室秒变游戏厅 -索尼65寸X9100H电视体验

有了它卧室秒变游戏厅 -索尼65寸X9100H电视体验

本来源于@什么值得买APP,观点仅代表作者本人 |作者:葡萄说话创作立场声明:近日新入了一台SONY电视在卧室打游戏专用,感觉非常好,特地写个体验来跟大家分享~~一直想要买一台SONY电视机,因为手头上的相机,回音壁和PS4让我对SONY的性能和做工有着充分的好感和信赖。之...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片