memcached存储机制与过期机制
来源:互联网 发布:弱电箱的网络模块 编辑:程序博客网 时间:2024/06/07 13:02
一、存储机制
1.内存的碎片化
如果用c语言直接malloc,free函数来向操作系统申请和释放内存时
在不断的申请和释放过程中,就形成了一些很小的内存片断,无法再利用,
这种空闲的,但无法利用内存的现象,称为内存碎片化
2.slab allocator缓解内存碎片化
slab allocator 原理:预先把内存划分成数个slab class仓库
各个仓库,切分不同大小的chunk
要在内容时,判断内容大小,为其选取合理的仓库
chunks 大小可以在增长因子中设置,memcached -m 64 -p 11211 -f 1.25 -vv
如果有memcached 只100个112字节的chunk,这100个112字节都满了,如果又有一个数据要存放在112字节的chunk,那么它会把112字节的chunk中的某个数据删掉,然后存放。
二、过期与删除机制
1、当某个值过期后,并没有从内存中删除,因此stats时curr_items 有其信息,
2、如果get其值时,判断其是不是过期,如果过期返回空,并且清空
3、如果之前没有get过,将不会自动删除,当某个新值要占用他的位置,则当在空的chunk给新值使用。
这个过期只是让用户看不到这个数据而已,并没有在过期瞬间立即删除,这个称为惰性失效机制
好处--节省了cpu时间和检测的成本
如果有个112字节新数据在存放,相应大小chunk都满了, memcache用LRU删除数据,删除一个老数据。
(LRU Last Recently Used)最近最少使用
(FIFO first in first out)先进先出,队列
阅读全文
0 0
- memcached存储机制与过期机制
- Memcached的删除机制和过期机制
- memcached存储机制研究
- Memcached--数据的过期和删除机制
- Memcached--内存存储机制,LRU删除机制
- 理解memcached的内存存储机制
- Redis过期机制介绍
- redis过期处理机制
- Redis过期机制介绍
- Redis过期机制介绍
- Memcached源码剖析系列之内存存储机制(一)
- memcached源码剖析系列之内存存储机制(二)
- memcached源码剖析系列之内存存储机制
- memcached 完全解剖2——内存存储机制
- Memcached源码剖析系列之内存存储机制(一)
- memcached源码剖析系列之内存存储机制(二)
- memcached源码剖析系列之内存存储机制(三)
- Memcached源码剖析系列之内存存储机制(一)
- vue-cli vue2.0如何使用引入less或者sass
- 深度学习入门心得——书籍、课程、文档推荐
- Studio 打包以及Gradle配置
- 如何编译安装 protocolBuffer(for C++)
- 直流电机PWM调速系统中控制电压非线性研究
- memcached存储机制与过期机制
- mysql 模拟redo文件损坏测试
- equals和hashcode终极解答
- Mysql5.7.17安装后错误日志中有警告
- 分类算法之朴素贝叶斯分类
- 线性求逆元
- 《python》 中字典的用法
- 【学习笔记】Cadence Allegro 17.2 快捷键设置
- 魔方数组的C 语言实现以及算法