【发布时间】:2010-09-11 16:32:36
【问题描述】:
我创建了一个论坛,我们正在实施一个 apc 和 memcache 缓存解决方案来节省数据库的一些工作。
我开始使用诸如“Categories::getAll”之类的键来实现缓存层,如果我有用户特定的数据,我会在键中附加用户 ID 之类的东西,这样你就会得到"User::getFavoriteThreads|1471"。当用户添加新的收藏线程时,我会删除缓存键,然后它会重新创建条目。
但是,问题来了:
我想缓存论坛中的帖子。很简单,“Forum::getThreads|$iForumId”。但是...使用分页,我必须将其拆分为几个缓存条目,例如
"Forum::getThreads|$iForumId|$iLimit|$iOffset".
没关系,直到有人在论坛中发布新帖子。我现在必须删除"Forum::getThreads|$iForumId" 下的所有键,无论限制和偏移量是多少。
解决这个问题的好方法是什么?我真的不想遍历所有可能的限制和偏移,直到找到不再匹配的东西。
谢谢。
【问题讨论】:
标签: php caching pagination memcached