如何在电子商务网站上实现Memcached

问题描述:

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

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

  • 商店只有某些重要的数据,如产品信息到Memcached中,并确保适当的更新,可以正确过期了 - 听起来像一个结束终端解决方案

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

试图获得什么样的变化我应该采取的memcached的最佳优势的概述。

谢谢:)

+1

这听起来像流行语宾果。 – hakre

我会让你的用户决定。

换句话说,而不是试图揣摩什么工作最好的,我想返工都采用线沿线的memcached的数据库查询;

  1. 能MEMCACHE回答这个查询?如果 那么 - 从缓存中返回结果。
  2. 如果不是1),拉从 数据库结果和写回,下次它在缓存中的memcached 左右。
  3. 确保您的所有更新/插入/删除 无效适当 缓存键。

现在考虑到3)可能很复杂,我会使用该因子来选择通过缓存加载哪些查询 - 如果缓存无效和/或耗时,请不要缓存那些查询开始。

因为当存储容量接近memcached的自动转储最近最少使用的按键,可以设置一切永不过期,只是让现有的资源来确定什么是目前在缓存中。这主要取决于用户的行为(哪些产品很受欢迎等),因此我首先评论让用户决定。

同样值得一提的是,你应该确保你的MySQL数据库首先被很好地调整,因为这往往是一个更容易的胜利。查询缓存,使用Explain检查重度查询来调整索引等,所有这些都会产生更大的影响。

+0

感谢听起来像一个足够的答案。如果所有内容都被正确缓存并过期,那么最好的安全就是它:) 我想我会更进一步,根据需要使用不同类型的缓存,APC,文件等。 Memcache将适用于不适合共享内存或基于文件的缓存的大型商店。 – kzap

+0

多个缓存层绝对是一个好方法。 – Roger

+0

我正在试用Stash atm:http://code.google.com/p/stash/及其证明非常有用。有多个图层,分组和许多功能。这很棒! – kzap

有没有办法让这里专门为您量身定制的系统优化。
要么你把你使用的操作系统的名称,或支付给某人分析你有什么。
这里没有“通用线程”。 (此外,缓存查询,可以在DB的足够的内存水平做)