Jas*_*vis 25 php session memcached caching
我有一个社交网络
users表大约有60,000行
朋友表约有100万行(用于确定谁是你的
朋友)
我想做一个朋友饲料,墙,无论你喜欢什么叫它,它会显示用户状态贴(推特类型的帖子)之类的东西,它会显示一些不同的项目但是一开始它只是朋友状态和也许博客文章.
基本上,您只会看到使用您朋友列表中的用户ID发布的内容.
我一直在努力想出最好的方法并且没有走得太远,但这是我最新的想法.
目前要建立这个饲料,我必须
获取大朋友桌上的朋友ID列表
从上面的结果中获取朋友ID中的流数据
加入用户表以获取发布者图片URL和用户名
然后加入评论表以获取在Feed项目上发布的评论
这是构建该Feed的一项重大任务
到目前为止,我有3个想法,这是你的帮助可以进来的地方.
Memcache选项:
文件缓存选项:
执行与memcache选项相同但将此数据作为数组保存到缓存文件而不是内存,然后将此缓存文件包含在页面中.
我不确定哪种是性能的最佳方法我理解memcache将所有内容存储在内存中所以有两万个可以使用大量内存和文件缓存的朋友的朋友只有在用户需要它时才将它放在内存中如果我是正确.此外,如果我使用文件方法,当用户退出网站时,我会删除那里的缓存文件,因此缓存文件夹永远不会是太大的文件
会话缓存选项:
请给我你的意见或任何建议或信息,因为我对缓存知之甚少,我已经阅读了很多,但有时其他人的想法有很多帮助
Ian*_*lby 32
由于很多原因,Memcache是你最好的选择:
... 还有很多 ;)
至于您对个别缓存项目的内存占用的一些担忧,您有一些选择.我最初的想法是给它一个旋转,看看这些缓存项目真正有多大(你可以找到几个开源的东西来监控实际的缓存使用情况,比如cacti).我认为它们会比你想象的要小.
如果他们不是,我建议你重新思考你的缓存策略,实际缓存,持续多长时间等等.也许你可以从缓存中的几个东西构建feed(即缓存单个用户数据,然后从缓存中的所有单个项目构建一个人的订阅源.在这方面有很多好文章,只是搜索出来:)