欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

像陌陌这样的产品,后台如何设计缓存??具体的问题大神请点击里面,标题一下说不清楚

程序员文章站 2022-03-15 19:45:32
...
我们最近在做一款跟陌陌类似的软件。由于数据库已经跟不上形势了,所以不得不加缓存。但是这里就出现一个疑惑了。
对于一般的APP来说,每一个人所看见的内容是一样的,这样将这些数据直接放到缓存里面就好了。但是比如陌陌。附近的人,每一个人所看见的附近的人是不一样的。每一个人所看见的数据都不一样,该如何加载缓存?还是管你一不一样,只要用户要看见,就把数据加载到缓存里面吗?总的就是说,像陌陌这样附近的人,如果是你来设计缓存策略,你该如何设计?????????

回复内容:

我们最近在做一款跟陌陌类似的软件。由于数据库已经跟不上形势了,所以不得不加缓存。但是这里就出现一个疑惑了。
对于一般的APP来说,每一个人所看见的内容是一样的,这样将这些数据直接放到缓存里面就好了。但是比如陌陌。附近的人,每一个人所看见的附近的人是不一样的。每一个人所看见的数据都不一样,该如何加载缓存?还是管你一不一样,只要用户要看见,就把数据加载到缓存里面吗?总的就是说,像陌陌这样附近的人,如果是你来设计缓存策略,你该如何设计?????????

先说说你理解的“缓存”到底是什么吧。
如果你觉得缓存是一个神奇的能加快程序运行的东西,那么我得给你提个醒,这个“神奇”是有成本的,而且你不一定付得起。

一般来说,当你决定使用缓存的时候,有几个点是你必须先考虑的.
1)数据对时效性不敏感.
2)性能瓶颈在于数据库的io上面
3)中间数据,并非最终数据

严格意义上说,附近的人本身对时效性是不敏感的.而且这些数据应该是属于中间数据,并非最终应该入库的.即使有一定的丢失,或者显示为空,应该也能接受是么?
在不考虑成本的情况下,可以直接丢缓存.但是对于缓存的利用率,以及命中率情况,就要以实际情况的调用情况来看.
如果本身附近的人,点击量本身就很小的情况下,是有可能不做缓存的.
缓存设计还得以你具体的业务情况来做考量.

相关标签: php redis 缓存