Memcached是一个高性能的分布式的内存对象缓存系统。通过使用Memcached可以支持高负载的网站系统,以分担数据库的压力。Memcached通过在内存里维护一个统一的巨大的Hash表来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。但是Memcached不能将数据进行持久化,因此严格意义来说,Memcached只能叫做一个缓存技术,而不能叫做数据库。
视频讲解如下:
Memcached在内存中维护一张巨大的Hash表,并且按组分配内存。具体来说就是,每次先分配一个大小为1M的Slab。然后在1M的Slab空间里根据保存数据的大小再划分相同大小的Chunk。换句话说,Memcached在保存数据之前需要先为数据分片内存存储的空间。这样做的优点是最大限度的利用内存,从而避免产生内存碎片。下图说明了Memcached的数据存储方式。