【问题标题】:APC User Cache Key collisions on multiple sites多个站点上的 APC 用户缓存密钥冲突
【发布时间】:2012-11-08 14:45:07
【问题描述】:

使用 APC 进行用户缓存,避免在同一服务器上运行的多个站点之间发生密钥冲突的最佳选择是什么?

我遇到过这样的问题,即 2 个或更多站点使用相同的缓存键并期望在其下存储不同类型的项目 - 一个期望 json 字符串,另一个期望一个数组,另一个期望一个对象。

他们是按站点划分 APC 的方法吗?

顺便说一句:我将 APC 与运行 prefork 和 mod_php 的 Apache 一起使用。

【问题讨论】:

  • 我有点困惑为什么这被否决了;这是一个合理的问题,我也在寻找答案。我什至没有想到服务器变量(答案),这很有帮助。在一个要求测试一个数字是否为负数的问题有 300 多票的网站上,我无法理解这个问题是如何被否决的。
  • @mazzzzz 看起来用户不久前对其进行了投票,但因此删除了该用户并拿走了他们获得的积分:/

标签: php caching apc


【解决方案1】:

也许您可以将服务器主机名附加到密钥中,您可以定义一个常量或创建一些模型来处理您的 APC:

<?php 
define('APC_HOST_KEY',$_SERVER['HTTP_HOST']);

apc_store(APC_HOST_KEY.'_value_key', $value);
?>

【讨论】:

  • 这听起来很合理。理想情况下,我想避免添加一个新的非标准函数,或者要求我团队中的所有编码人员确保他们为他们的键加上前缀——很多容易忘记的错误。然而,这可能是唯一可行的途径。还要等一会儿,看看有没有超级秘密的 APC 方法来隔离内存块。
  • 一切安静,走你的路
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-26
  • 1970-01-01
  • 2018-11-12
  • 2012-03-06
  • 1970-01-01
  • 2017-12-14
  • 2010-12-20
相关资源
最近更新 更多