Mysql memcached在网站中的实际应用

Mysql memcached在网站中的实际应用,mysql,performance,caching,memcached,Mysql,Performance,Caching,Memcached,我正在尝试将memcached实现到我的网站中 我有一个图像库,图像很少被更改(删除等)。它们保存在数据库中 现在我知道我可以缓存mysql返回的结果集,每次有人请求查看gallery时,它都会检查缓存是否存在,并提供缓存,而不是一次又一次地访问数据库 我的问题是,像这样使用memcached比使用mysql的查询缓存更好,因为两者都是从内存中提供服务的 另外,在memcached中存储网站页眉和页脚之类的html字符串是否会稍微提高性能?我假设这意味着服务器不需要从磁盘加载数据。MySQL查询

我正在尝试将memcached实现到我的网站中

我有一个图像库,图像很少被更改(删除等)。它们保存在数据库中

现在我知道我可以缓存mysql返回的结果集,每次有人请求查看gallery时,它都会检查缓存是否存在,并提供缓存,而不是一次又一次地访问数据库

我的问题是,像这样使用memcached比使用mysql的查询缓存更好,因为两者都是从内存中提供服务的


另外,在memcached中存储网站页眉和页脚之类的html字符串是否会稍微提高性能?我假设这意味着服务器不需要从磁盘加载数据。

MySQL查询缓存在用作有效的对象级缓存系统时有两个很大的限制

  • 每当更新表(例如更新、插入或删除)时,表的缓存将失效

  • 查询缓存不能跨不同的实例存在,因此,如果围绕此比例运行,则查询缓存几乎没有什么好处

  • 另一点需要注意的是(对某些人来说可能很明显),查询缓存只缓存确定性查询的结果——使用日期函数或任何类似的方法都会导致数据库总是被命中

    在我看来,Memcached的主要使用案例是它提供了内存对象缓存,可以随应用程序进行扩展。事实上,部署也非常简单,因此部署为数据层的缓存非常好

    在您的特定情况下,它似乎不保证使用memcached,因为您指定您的数据没有太大变化;在我看来,除了使用多个db服务器之外,it还没有扩展的余地


    有关MySQL查询缓存的限制和特性的详细列表。

    我更喜欢memcache,如果可以的话,我会添加页眉和页脚,当然如果没有措施,很难做出决定。若要进一步增加,请使用nginx或cherokee而不是apache。如果您否决了投票,请让sack对原因发表评论。。。