memcached
默认情况下采用了名为
Slab Allocator
的机制分配、管理内存。
Slab Allocator
的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块,
以完全解决内存碎片问题。
slab
allocator
还有重复使用已分配的内存的目的。
也就是说,分配到的内存不会释放,而是重复利用。
Slab Allocation
的原理相当简单。
将分配的内存分割成各种尺寸的块(
chunk
),
并把尺寸相同的块分成组(
chunk
的集合)
Slab
Allocation
的构造图
Page
分配给
Slab
的内存空间,默认是
1MB
。分配给
Slab
之后根据
slab
的大小切分成
chunk
。
Chunk
用于缓存记录的内存空间。
Slab Class
特定大小的
chunk
的组。
Slab
中缓存记录的原理
memcached
根据收到的数据的大小,选择最适合数据大小的
slab
。
memcached
中保存着
slab
内空闲
chunk
的列表,根据该列表选择
chunk
,
然后将数据缓存于其中。
选择存储记录的组的方法
Slab Allocator
解决了当初的内存碎片问题,但新的机制也给
memcached
带来了新的问题。
这个问题就是,由于分配的是特定长度的内存,因此无法有效利用分配的内存。
例如,将
100
字节的数据缓存到
128
字节的
chunk
中,剩余的
28
字节就浪费了
chunk
空间的使用
对于该问题目前还没有完美的解决方案。如果预先知道客户端发送的数据的公用大小,或者仅缓存大小相同的数据的情况下,
只要使用适合数据大小的组的列表,就可以减少浪费。
参考:http://tech.idv2.com/2008/07/11/memcached-002/
- 大小: 11.8 KB
- 大小: 7 KB
- 大小: 11.8 KB
分享到:
相关推荐
memcached是分布式缓存。 32位安装程序,下载 安装即可
64bit:如果需要win64版,下载 memcached-win64-1.4.4-14.zip(直接下),里面有个三个文件,用这三个文件覆盖win32下同名文件。
memcached的基本设置: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -d ...
DOS窗口进入目录执行命令memcached.exe -d INSTALL 进行安装
memcached-win64-1.4.4-14memcached-win64-1.4.4-14memcached-win64-1.4.4-14memcached-win64-1.4.4-14memcached-win64-1.4.4-14
│ alisoft-xplatform-asf-cache-2.4.jar │ list.txt │ Memcached+Study.pdf │ memcached全面剖析.zip │ └─memcached全面剖析 memcached.pdf
memcached-win64-1.4.4-14
NULL 博文链接:https://sxpyrgz.iteye.com/blog/722549
Memcached学习笔记2.docMemcached学习笔记2.doc
分布式缓存系统C#应用实例,提高网站负载量。
memcached-1.2.6-win32-bin
In the spirit of giving for this season, I thought with all the excitement that I would put out a pre-release of memcached 1.4.4 for Windows 64-bit. This is a release based of my first successful ...
在同一个程序集里将一个值放入到memcache里,马上去时可以取到,但是在另一个程序集里取的时候取不到,或者telnet也拿不到值。 可能问题及解决办法:
memcached-1.9.6,libevent-2.1.12-stable.tar memcached-session-manager-1.9.6,msm-kryo-serializer-1.9.6.jar,tomcat8.5,实现会话共享
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等...
java-memcached-2.6.6.jar
memcached-win32-1.4.4-14.rar