这次咱们从根源聊:16招搞定高并发架构设计( 四 )
一般有两种做法:
一种是在程序启动的时候从外部数据源初始化大量的不怎么变的数据到内存中,在内存中形成面向搜索友好的数据结构(比如哈希表),提供快速的数据访问,之后所有的请求都无需请求数据源,采用定时拉取或监听变动消息的方式同步变动。一种是利用分布式缓存做计算结果的缓存,具有比较短的过期时间,可以挡掉大量重复请求,对于搜索条件组合较多的请求命中率差。当然,缓存除了使用空间换时间之外,一般还会利用存储介质的性能差异来提升性能,所以我们看到通过内存缓存数据比较常见。缓冲
和缓存相近但又截然不同的概念是缓冲。IO操作一般都会使用缓冲区,在我们实现业务的时候也可以利用这种思想。
对非时间敏感的调用进行适当蓄水,甚至合并,一次性提交到后端服务,比如玩一个抓红包的游戏,用户在屏幕上点点点来抓红包,是否真的有必要每次都向数据库更新红包余额呢?
还是可以在服务端缓冲一下,10次更新一次余额甚至整个游戏只提交一次?
还比如,我们需要对内存中的一些数据做处理,处理的时间会比较久,在处理的时候显然不能持续服务业务了。
推荐阅读
- lpl|海外热议:尽管LPL获胜了,但这次的S赛是韩国选手最多的一次
- 手机游戏|梦幻西游手游:听说你想要豪宅?这次满足了!新版本上线前庭后院
- 电子竞技|LOL、王者、吃鸡在列!杭州亚运会电竞项目公布:这次计入奖牌
- 张大仙|XYG晋级S组卡位赛,命运逆袭堪比电竞爽文,张大仙这次放心了
- 穿越火线|CF:传说大炮即将上线,这次的“传说BUFF”不可小觑
- 赛博朋克2077|《赛博朋克2077》又又又一次延期 这次是免费DLC
- pc端卡牌类|哈利波特:官方再出隐藏成就,这次不是靠运气,而是靠“计谋”
- 旭旭宝宝|DNF:2+2=0?旭旭宝宝再次对“玉玺”发出挑战,这次又亏了10w
- 魔兽世界|魔兽世界:赛季服开放时间已经确定,不知道这次人气到底如何?
- 小游戏|三国杀:新小游戏“抽签乐”登场,这次线下也能玩!