五千年(敝帚自珍)

主题:【原创】wikipedia架构学习笔记(一)他们的骄傲 -- 羽羊

共:💬62 🌺262
全看分页树展 · 主题 跟帖
家园 讨论一下

先说个题外话,mysql的创始人在离开sun之后又新搞了个数据库,叫啥名字忘记了。这个数据库里面没有query cache,据他自己说法是这部分交给memcached了。

这可以说明,memcached很像db的query cache,但是又有些优势。是什么优势呢?我想主要是:

1. query cache是以sql做key的,非常不灵活,提高命中率比较难

2. query cache不够大。mysql的query cache缺省是16M,太小了。

3. memcached在应用和部署上都更灵活,更适合高并发访问。

由于memcachd是key->value的存储模式,跟db的sql有很大的不同,所以在应用的时候,最好是用key/value模式重构数据模型。这样memcached就不是简单的存储sql查询的结果,从而有效提高存储和使用的效率。

memcached 至少可以大幅减少读操作。可是如果这样的话,就有人建议用数据库的 replicate 来分布读操作。

当使用replicate来分布读操作时,写操作一般都是在master上完成。这种模式下还是需要应用程序进行修改,严格区分读写请求。实际跟使用memcached的工作量差不多。而memcached相比从数据库而言要轻量多了。

和那些 reverse proxy 又有什么本质上的区别?还是只是缓存的级别不同,一个是部分内容,一个是整个网页?

这是一个不同之处。并且reverse proxy不一定是完全基于内存的,还是有可能发生io。本质不同应该是memcached可以存的东西远远不止网页,事实上可以是任何东西。

通宝推:铁手,
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河