头图

Memcached是一个高性能的分布式的内存对象缓存系统。通过使用Memcached可以支持高负载的网站系统,以分担数据库的压力。Memcached通过在内存里维护一个统一的巨大的Hash表来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。但是Memcached不能将数据进行持久化,因此严格意义来说,Memcached只能叫做一个缓存技术,而不能叫做数据库。

视频讲解如下:
https://www.bilibili.com/video/BV1M5vVeeESn/?aid=112856104175...

Memcached在内存中维护一张巨大的Hash表,并且按组分配内存。具体来说就是,每次先分配一个大小为1M的Slab。然后在1M的Slab空间里根据保存数据的大小再划分相同大小的Chunk。换句话说,Memcached在保存数据之前需要先为数据分片内存存储的空间。这样做的优点是最大限度的利用内存,从而避免产生内存碎片。下图说明了Memcached的数据存储方式。
image.png


赵渝强老师
30 声望10 粉丝

20年以上的IT行业从业经历,清华大学计算机软件工程专业毕业,京东大学大数据学院院长,Oracle中国有限公司高级技术顾问;曾在BEA、甲骨文、摩托罗拉等世界500强公司担任高级软件架构师或咨询顾问等要职,精通大...