memcached实战系列(七)理解Memcached的数据过期方式、新建过程、查找过程
来源:互联网 发布:淘宝店装修要多少钱 编辑:程序博客网 时间:2024/06/08 12:26
1.1.1. 新建Item分配内存过程
1:快速定位slab classid,先计算Item长度
key键长+flag+suffix(16字节)+value值长+结构大小(32字节),如90byte
如果>1MB,无法存储丢弃
取最小冗余的slab class
如:有48,96,120,存90会选择96
1.1.2. 按顺序寻找可用chunk顺序
(1)slot:检查slab回收空间slot里是否有剩余chunk
delete:delete时标记到slot
exptime:get时检查的过期对象标记到slot
(2)end_page_ptr:检查page中是否有剩余chunk
(3)memory:内存还有剩余空间可以用于开辟新的slab
(4)LRU
Memcached的数据存储方式的缺点
由于chunk的大小是预先分配好的特定长度,因此如果数据不能完全填满
chunk,那么剩余的空间就浪费了
1.1.3. Lazy Expiration(延迟/惰性 过期)
Memcached不会监控记录是否过期,而是在外部来获取数据的时候,才检查记录的时间戳,因此称为Lazy Expiration。
LRU(Least Recently Used最近最少使用)
当空间不足的时候,Memcached会优先使用已经过期的数据空间,如果还不够,那么就会把最近最少使用的对象的空间释放出来使用。
懒惰删除机制
删除item对象时,不释放内存,作删除标记,指针放入slot回收插槽,下次分配的时候直接使用要特别注意:Memcached的LRU不是全局的,而是针对slab的,可以说是区域性的
每个slab进行lru
1 0
- memcached实战系列(七)理解Memcached的数据过期方式、新建过程、查找过程
- memcached实战系列(六)理解Memcached的数据存储方式
- Memcached--数据的过期和删除机制
- memcached缓存的执行过程
- memcached系列之3:memcached的分布式,hash方式
- memcached实战系列(一)memcached安装
- memcached实战系列(三)memcached命令使用
- MemCached 安装过程
- memcached启动过程1
- memcached实战系列(四)memcached stats命令 memcached优化
- MemCached过期时间的设置
- 3.1.4 Memcached的简单使用过程
- PHP操作Memcached的各种数据方式
- Memcache学习系列(三):memcache和memcached安装过程
- memcache和memcached安装过程
- Memcached--set 过程跟踪解析
- linux下安装memcached过程
- memcached实战系列(五)Memcached: List all keys 查询所有的key
- 逆序数
- 主流外骨骼概览
- Normalizing All Layers(II): Back-Propagation
- 使用Solr搭建“小”数据集群的搜索和推荐功能
- JAVA开发,MySQL-SQLServer移植几点备注
- memcached实战系列(七)理解Memcached的数据过期方式、新建过程、查找过程
- Eclipse中出现-访问限制由于对必需的库XX具有一定限制,因此无法访问类型
- Camel-Component组件总结
- 自定义cell中的按钮点击事件
- 卷积神经网络在自然语言处理的应用Understanding Convolutional Neural Networks for NLP
- C语言之内存对齐
- ubuntu14.04安裝numpy,scipy
- 京东2016实习生在线笔试
- oracle11g导出DMP不能导空表解决方法