今天稍微看了下memcached。
这是一个内存对象缓存,形式是key-value
用到了libevent处理事件。用了Slab存储数据,好处是碎片少,但会浪费内存。用了LRU来分配空间。比较多用于分布式
如果跟MySQL配合,网上找到两种方法
第一种是,没有数据时,读数据库,并写一份到memcached,以后的读都从memcached上读。写的时候,先写到MySQL,然后再更新memcached。如果对数据容许有丢失的风险,还可以先只更新memcached,以后再异步写MySQL,这样好处是处理请求比较快
第二种是,MySQL memcached User-Defined Functions。利用MySQL的触发器。但不建议
查资料的时候,还看到了一个跟redis的比较。
知乎: MongoDB 或者 redis 可以替代 memcached 吗? 和 Redis 的极限压力为啥大于 Memcache?