我有一个用PHP编写并使用MySQL数据库的社交网站。我目前在首页上显示未登录用户的在线用户预览。这可以很容易地缓存,因为每个人的结果都是一样的。
我的问题是,登录的用户可能会互相阻塞,并提供自定义搜索结果,这使得缓存非常困难(我正在使用APC进行其他易于缓存的事情。)我考虑过缓存一个常见的结果集(男性)例如,搜索女性,然后保持成员列表阻止用户在内存中并从搜索中删除不受欢迎的成员 - 但这会使分页计算变得痛苦并且效率低下。
一开始这没问题,但现在有了100k +成员和一些非常活跃的用户,这已成为一个大问题!
我觉得有一种更有效的方法可以做到这一点,我正在寻找想法:D
答案 0 :(得分:1)
当注册用户查看列表时,您可以通过某个占位符(“已阻止”或“不需要的”)替换“已阻止”用户的昵称。
看看SO如何与“忽略的标签”(在主页上)做同样的事情 - 忽略标签的问题就会变得褪色
它将允许您跳过分页问题。