Memcached

Memcached是一种支持分布式的缓存系统,基于网络连接方式完成服务,是一个独立于应用的程序或守护进程。

分布式缓存

Memcached分布式的内存对象缓存系统

如果只是本地级缓存,使用memcached是非常不划算的!

Memcached作为分布式缓存,解决了分布式环境下资源共享的问题,但也同时引入了网络开销。

本地的内存读取与网络开销来比,性能会相差几个数量级。

并发连接

Memcached使用libevent实现网络连接服务,理论上可以处理无限多的连接。

libevent采用多路复用通信方式。

Memcached支持并发长连接,主要取决于libevent的性能(与宿主机的硬件情况有关)。

内存管理

Memcachd拥有自即的内存分配与管理,解决了内存申请、释放等一系列问题。

通常情况下,每个Memcached进程可以管理2GB的内存空间,如果需要更多的空间,可以增加进程数。

降低数据库压力

Memcached可作为业务缓存,避免大量请求进入数据库,但不支持持久化

内存中存储的数据是根据哈希来实现存储的,那么这样查找数据的销量就会远远高于数据库。

应用

  • 分布式特性可用于提供共享资源;
  • 内存缓存降低数据库的请求压力