缓存用了这么多年,没想到一直用错了?

《大专栏》第五阶“缓存”已经放出。

工程上,缓存一般有几种使用方式?

(1)进程内缓存;

(2)进程外缓存,也就是缓存服务;

如果有多个服务使用进程内缓存,如何保证一致性?

常见的有三种方法:

(1)服务节点同步通知;

(2)MQ异步通知;

(3)牺牲少量一致性,定期后端更新;

绝大部分情况,还是应该使用缓存服务,缓存的使用,有什么注意点?

以下几点,应该要注意:

(1)服务与服务之间不要通过缓存传递数据;

(2)如果缓存挂掉,可能导致雪崩,此时要做高可用缓存,或者水平切分;

(3)调用方不宜再单独使用缓存存储服务底层的数据,容易出现数据不一致,以及反向依赖;

(4)不同服务,缓存实例要做垂直拆分,不宜共用缓存;

互联网缓存操作细节,最佳实践是什么?

Cache Aside Pattern。

Cache Aside Pattern的细节是什么?

它分为读缓存最佳实践,以及写缓存最佳实践。

读缓存最佳实践是:先读缓存,命中则返回;未命中则读数据库,然后设置缓存。

写缓存最佳实践是:

(1)淘汰缓存,而不是修改缓存;

(2)先操作数据库,再操作缓存;

画外音:为什么呢?

缓存的本质是“冗余了数据库中的数据”,可能存在什么问题?

缓存与数据库数据不一致。

什么场景下容易出现不一致?

写后立即读业务场景。

画外音:为什么呢?

出现不一致时,优化思路是什么?

及时把缓存中的脏数据淘汰掉。

具体要怎么淘汰,保证缓存与数据库中数据的一致性呢?

(1)服务同步二次淘汰法;

(2)服务异步二次淘汰法;

(3)线下异步二次淘汰法;

画外音:二次淘汰法,是很常见的一种实践。

目前缓存服务最常用的是什么?

Redis和memcache。

什么时候选择使用Redis?

以下场景优先使用Redis:

(1)需要支持复杂数据结构;

(2)需要支持持久化;

(3)需要天然高可用;

(4)value存储内容比较大;

如果只是纯KV,可以使用memcache。

画外音:纯KV场景,为什么memcache会更快呢?

17次直播回看,以及《架构师第六阶:缓存架构》的6节也已经放出,系统性的详聊了上面这些问题,感兴趣的同学可以扫码看细节。

17次直播精华回看,有哪些内容?

(1)每秒100w请求,秒杀架构

(2)千万粉丝,feed架构

(3)千万同时在线,IM架构

(4)每秒100w检索,搜索引擎内核架构

(5)MQ内核细节

(6)RPC内核细节

(7)数据库架构

(8)多机房多活架构与细节

(9)分布式调用链追踪架构与细节

(10)3周自研自动化上线平台

(11)区块链中的架构理念

(12)数据库性能瓶颈定位

(13)反范式数据库设计

(14)微服务抽离与解耦

(15)经典架构10问

(16)微服务与数据库架构10问

(17)技术人职业发展规划

每次1-2小时不等,全部已放出。

50节架构师训练营干货重放,有哪些内容?

第一阶:技术选型(5节,已放出)

第二阶:接入层架构(5节,已放出)

第三阶:极速性能优化(3节,已放出)

第四阶:微服务架构(7节,已放出)

第五阶:数据库架构(6节,已放出)

第六阶:缓存架构(7节,已放出)

第七阶:架构解耦

第八阶:架构分层

第九阶:架构进阶

把控住这些,应该能成为一名P8的架构师吧?

其他“阶”内容何时放出?

2.21之前全部放出。

《大专栏》,有没有折扣?

(1)巨折899(原价1699);

(2)参加过二期训练营的小伙伴免费;

(3)邀请朋友一起学,返现20%;

有进一步福利么?

2.20之前,可领150优惠券(749)。

画外音:仅限这两天了,抓紧时间。

如何领优惠券?

缓存用了这么多年,没想到一直用错了?_第1张图片

扫码领券,直减150,仅限2.20之前

如何邀请小伙伴参加?

详情页右上角分享,推广员不买专栏也能邀返20%

如何入手《大专栏》?

扫码,入手架构师之路《大专栏》

白嫖了这么多年,欢迎为情怀补票,希望大家有收获,早日成为P8P9架构师。

画外音:建议平均每天花2小时,倍速看1-2集直播,5节训练营,春节20天假期搞定。

讨论:

写数据时,为什么要先操作数据库,再操作缓存?

阅读原文,订阅《大专栏》(先领优惠券)。

你可能感兴趣的:(数据库,redis,分布式,java,缓存)