memcached在数据删除方面有效利用资源
数据不会真正从memcached中消失
上次介绍过, memcached不会释放已分配的内存。记录超时后,客户端就无法再看见该记录(invisible,透明), 其存储空间即可重复使用。
Lazy Expiration
memcached内部不会监视记录是否过期,而是在get时查看记录的时间戳,检查记录是否过期。 这种技术被称为lazy(惰性)expiration。因此,memcached不会在过期监视上耗费CPU时间。
LRU:从缓存中有效删除数据的原理
memcached会优先使用已超时的记录的空间,但即使如此,也会发生追加新记录时空间不足的情况, 此时就要使用名为 Least Recently Used(LRU)机制来分配空间。 顾名思义,这是删除“最近最少使用”的记录的机制。 因此,当memcached的内存空间不足时(无法从slab class 获取到新的空间时),就从最近未被使用的记录中搜索,并将其空间分配给新的记录。 从缓存的实用角度来看,该模型十分理想。
不过,有些情况下LRU机制反倒会造成麻烦。memcached启动时通过“-M”参数可以禁止LRU,如下所示:
$ memcached -M -m 1024
启动时必须注意的是,小写的“-m”选项是用来指定最大内存大小的。不指定具体数值则使用默认值64MB。
指定“-M”参数启动后,内存用尽时memcached会返回错误。 话说回来,memcached毕竟不是存储器,而是缓存,所以推荐使用LRU。
memcached的最新发展方向
memcached的roadmap上有两个大的目标。一个是二进制协议的策划和实现,另一个是外部引擎的加载功能。
分享到:
相关推荐
本次介绍memcached的数据删除机制,以及memcached的最新发展方向——二进制协议(Binary Protocol)和外部引擎支持。上次介绍过,memcached不会释放已分配的内存。记录超时后,客户端就无法再看见该记录(invisible...
memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问...第3 章 memcached的删除机制和发展方向 第4 章 memcached的分布式算法 第5 章 案例memcached的应用和兼容程序
#### memcached的删除机制和发展方向 **数据删除方面有效利用资源** - **数据不会真正从memcached中消失**:当数据过期或被显式删除后,其占用的空间会被标记为可重用。 - **LazyExpiration**:memcached不会立即...
### memcached的删除机制和发展方向 - **数据删除**:memcached不立即删除数据,而是采用LazyExpiration策略,当需要空间时,才清除过期的数据。 - **LRU**:Least Recently Used(最近最少使用)用于决定哪个数据...
memcached全面剖析, 密码 1234!... memcached的删除机制和发展方向 memcached全面剖析–4. memcached的分布式算法 memcached全面剖析–5. memcached的应用和兼容程序 可关注公众号:Java与大数据进阶
#### 三、Memcached的删除机制和发展方向 **3.1 memcached在数据删除方面有效利用资源** - **数据不会真正从memcached中消失**:即使数据过期,也会保留其占用的空间直到被新数据覆盖。 - **LazyExpiration**:这...
#### memcached的删除机制 - **Lazy Expiration**: 数据项在过期后并不会立即被清除,而是标记为“已过期”,等待下次访问时才被清除。 - **LRU(Least Recently Used)机制**: 当内存不足时,memcached采用LRU算法...
### MemCached 全面剖析 #### 一、MemCached ...以上内容覆盖了 MemCached 的基本概念、安装使用、内存管理、删除机制、分布式算法以及实际应用场景等方面的知识点,为深入理解和掌握 MemCached 提供了全面的信息。
#### 三、Memcached 的删除机制和发展方向 **删除机制**: 1. **手动删除**:用户可以通过客户端发送删除指令来手动移除特定的缓存项。 2. **自动淘汰**:当内存使用达到设定阈值时,Memcached 会根据 LRU 算法...
#### memcached的删除机制和发展方向 - **数据不会真正从memcached中消失**:即使设置了过期时间,数据也可能因为lazy expiration机制而暂时保留在内存中。 - **LazyExpiration**:解释lazy expiration的工作原理...
Memcached的删除机制包括LazyExpiration,意味着数据不会真正从内存中即时消失,直到空间被用完时,才会根据LRU(最近最少使用)算法来删除旧数据。 Memcached的最新发展方向包括二进制协议的采用,相比传统文本...
#### 四、memcached的数据删除机制与发展 - **数据删除机制**: - **Lazy Expiration**:数据过期后并不会立即从内存中移除,而是等到下次访问该数据时才检查是否过期。 - **LRU(Least Recently Used)**:基于...
3. **MEMCACHED的最新发展方向**: - **二进制协议**:为了解决文本协议的局限性,如解析效率低、不支持更多数据类型,引入二进制协议以提高性能。 - **二进制协议格式**:包含更复杂的头部信息,支持更多的操作...
NoSQL数据库的发展趋势正在朝着更加成熟和多样化方向发展,未来可能会出现更多针对特定应用场景优化的NoSQL解决方案。同时,NoSQL数据库与传统关系型数据库之间的界限也将变得更加模糊,混合数据库将成为新的发展...
- **简化运营模型**:虽然某些NoSQL解决方案仍然面临挑战,但总体趋势是朝着更简单、更易于管理的方向发展。 #### 实际技巧与经验分享 - **较小的数据更好**:在MySQL中,尽量保持每个键值对的数据量较小,这有助于...
10. **论文撰写**:论文部分将详细论述系统的需求分析、设计思路、实现技术和测试结果,总结项目经验,探讨未来改进方向。 通过学习和实践这个基于PHP的网上留言管理系统,开发者不仅可以深入理解PHP编程,还能掌握...