CakePHP Apc缓存频繁失效
我目前正在CakePHP应用程序中使用Apc缓存。我有数千个列表,我想缓存为单独的对象,可以独立读取、更新和覆盖。然后,我分别缓存列表ID的组。有一些昂贵的基于位置的计算用于计算应加载的列表ID的分组(这是一个maps应用程序),因此需要缓存此列表ID 列表数据也可以通过仪表板更新和保存。在我保存一个特定的列表之前,缓存工作得非常好,此时所有缓存的数据都将失效。当我返回地图并加载一组列表时,这些列表不再被缓存 有关实施的更多细节:CakePHP Apc缓存频繁失效,php,cakephp,caching,cakephp-2.0,apc,Php,Cakephp,Caching,Cakephp 2.0,Apc,我目前正在CakePHP应用程序中使用Apc缓存。我有数千个列表,我想缓存为单独的对象,可以独立读取、更新和覆盖。然后,我分别缓存列表ID的组。有一些昂贵的基于位置的计算用于计算应加载的列表ID的分组(这是一个maps应用程序),因此需要缓存此列表ID 列表数据也可以通过仪表板更新和保存。在我保存一个特定的列表之前,缓存工作得非常好,此时所有缓存的数据都将失效。当我返回地图并加载一组列表时,这些列表不再被缓存 有关实施的更多细节: 我对清单ID列表和单个清单数据使用的缓存配置: 缓存::配置
- 我对清单ID列表和单个清单数据使用的缓存配置:
- 要在加载映射时初始化各个清单缓存,我只需迭代从数据库返回的清单,缓存每个清单,并在末尾附加清单id,如下所示: Cache::write('Listing-'.$id,$Listing,'Config1')
- 我已经能够确保正确保存列表ID组。上面的行与前面描述的在仪表板中更新列表时使用的行相同
我的目标-更新缓存中的一个特定列表,同时不接触其余的缓存列表。这似乎是一项简单的任务,但我已经花了几个小时研究,还没有找到解决方案。只需像您已经做的那样重写特定记录
Cache::write('Listing-'.$id, $listing, 'Config1');
就像你已经在做的那样重写特定的记录
Cache::write('Listing-'.$id, $listing, 'Config1');