如何最好地在电子商务网站上实施Memcached

时间:2011-07-02 13:39:50

标签: php memcached e-commerce

我有一个运行LAMP的大型电子商务网站,并想知道如何最好地轻松实现Memcached?

  • 将所有查询存储在memcached中一段时间​​ - 听起来毫无意义

  • 只将某些重要数据(如产品信息)存储到Memcached中,并确保正确的更新可以正确到期 - 听起来像是端到端的解决方案。

  • 存储不经常更改的复杂查询结果 - 涉及大量静态代码

尝试概述我应该采取哪些更改以充分利用memcached。

谢谢:)

2 个答案:

答案 0 :(得分:2)

我会让您的用户决定。

换句话说,而不是试图再次猜测哪种方法最有效,我会重新编写所有数据库查询,以便使用memcached;

  1. memcache可以回答这个问题吗?如果 所以 - 从缓存中返回结果。
  2. 如果不是1),请从中获取结果     数据库并写回memcached     所以下次它在缓存中。
  3. 确保所有更新/插入/     删除使相应的无效     缓存键。
  4. 现在假设3)可能很复杂,我会使用该因子来选择通过缓存加载哪些查询 - 如果使缓存无效是困难和/或耗时的,请不要缓存这些查询以启动用。

    因为当存储接近容量时,memcached将自动转储最近最少使用的密钥,您可以将所有内容设置为永不过期,并且只允许可用资源来确定当前缓存中的内容。这很大程度上取决于用户行为(哪些产品很受欢迎等),因此我首先评论了让用户做出决定。

    同样值得一提的是,您应该首先确保您的MySQL数据库得到很好的调整,因为这通常可以轻松获胜。查询缓存,使用Explain检查繁重的查询以调整索引等,所有这些都会产生更大的影响。

答案 1 :(得分:0)

此处无法专门为您的系统量身定制优化 您可以使用您使用的操作系统的名称,也可以付钱给某人分析您拥有的内容 这里没有“共同点”。 (此外,要缓存查询,您可以在具有足够内存的DB级别中执行此操作)