如何在社交网络中存储用户全局信息

时间:2014-10-31 14:17:48

标签: php memcached

我有一组20K用户,我有一个像Facebook一样的Feed - 很多评论,分享,喜欢。当我显示信息时,我需要一些全局用户数据(头像,名称,ID)。这种情况的最佳做法是什么?

我应该为每个帖子/出版物使用mysql和JOIN用户数据吗?或者最好将整个20K用户存储在memcache中并从那里使用它?

目前我正在使用第二个选项 - 所有用户都从memcache进入20M变量,我遇到了性能问题。

我想memcache选项更好,因为这些数据被大量使用。但是在这种情况下,如果我将它放在一个大数组(20M)中或者为每个用户使用单个变量是关键的话会更好吗?

1 个答案:

答案 0 :(得分:0)

为每个请求在服务器之间发送20 MB的数据非常疯狂(因为必须在站点中发生任何事情时更新整个缓存项)。缓存单个项目。您也可以为不同的目的使用不同类型的项目缓存。对于Feed,您可以在短时间内缓存整个帖子的HTML,头像和所有内容。您可以单独缓存用户的个人资料信息。

相关问题