memcached 失效的数据去了哪里了
2016-06-20 13:32
736 查看
先普及下memcached 数据有效期的感念
memcache.set(key,value,new Date(50)) 设置为50秒过期
memcache.set(key,value,new Date(System.currentTimeMillis()+5000)) 设置为50秒过期
第二个跟第一个的区别是当设置了这个时间点之后,它会以服务端的时间为准,也就是说如果本地客户端的时间跟服务端的时间有差值,这个值就会出现问题。
例:如果本地时间是20:00:00,服务端时间为20:00:10,那么实际上会是40秒之后这个缓存key失效
那么过期有效的数据,去了哪里了呢 ?memcached有类似Java的垃圾回收机制么?
memcached的缓存失效策略:
memcached的缓存失效策略是LRU(最近最少使用)加上到期失效策略。当向memcached存储数据时,你可能会设置一个过期时间,可以是永久也可以是一段时间,但是如果一旦给memcached分配的内存使用完毕,则首先会替换掉已失效的数据,其次是最近最少使用的数据。
普及一点memcached的存储概念:
1、过期时间限制
memcached的过期时间并不能随便设置,有一个最大时限就是30天,若超过30天后,存储时返回true,但是在取数据的时候取不到。(在取数据的时候才去做验证,看看数据是否失效)
2、存储限制
键被限制在 250 字符之内。数据项不能超过 1M (这个值由其内存分配机制决定的),因为这是最大的块( slab )值。如果对数据超过1M的值进行set,则会返回FALSE。
memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存。在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。但是,这种方式会导致内存碎片,加重操作系统内存管理器的负担,最坏的情况下,会导致操作系统比memcached进程本身还慢。Slab
Allocator就是为解决该问题而诞生的。Slab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题.
3、访问限制
最大同时连接数200.
那么又来了memcached连接数那么有限,该如何处理?
redis上场时间到!!
memcache.set(key,value,new Date(50)) 设置为50秒过期
memcache.set(key,value,new Date(System.currentTimeMillis()+5000)) 设置为50秒过期
第二个跟第一个的区别是当设置了这个时间点之后,它会以服务端的时间为准,也就是说如果本地客户端的时间跟服务端的时间有差值,这个值就会出现问题。
例:如果本地时间是20:00:00,服务端时间为20:00:10,那么实际上会是40秒之后这个缓存key失效
那么过期有效的数据,去了哪里了呢 ?memcached有类似Java的垃圾回收机制么?
memcached的缓存失效策略:
memcached的缓存失效策略是LRU(最近最少使用)加上到期失效策略。当向memcached存储数据时,你可能会设置一个过期时间,可以是永久也可以是一段时间,但是如果一旦给memcached分配的内存使用完毕,则首先会替换掉已失效的数据,其次是最近最少使用的数据。
普及一点memcached的存储概念:
1、过期时间限制
memcached的过期时间并不能随便设置,有一个最大时限就是30天,若超过30天后,存储时返回true,但是在取数据的时候取不到。(在取数据的时候才去做验证,看看数据是否失效)
2、存储限制
键被限制在 250 字符之内。数据项不能超过 1M (这个值由其内存分配机制决定的),因为这是最大的块( slab )值。如果对数据超过1M的值进行set,则会返回FALSE。
memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存。在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。但是,这种方式会导致内存碎片,加重操作系统内存管理器的负担,最坏的情况下,会导致操作系统比memcached进程本身还慢。Slab
Allocator就是为解决该问题而诞生的。Slab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题.
3、访问限制
最大同时连接数200.
那么又来了memcached连接数那么有限,该如何处理?
redis上场时间到!!
相关文章推荐
- Memcached安装
- apache+tomcat+memcached
- Memcached安装
- apache+tomcat+memcached
- php_memcache 缓存 下载-安装-配置-学习
- Memcached原理
- 如何最佳地使用memcached?
- 配置Memcache服务器并实现主从复制功能(repcached)(转)
- Memcache知识点梳理
- memcached的LRU部分
- nginx+tomcat+Memcached集群session共享
- memcache对hash一致性算法和取模算法详解
- Nginx+Tomcat+Memcached负载均衡集群服务搭建
- nginx+tomcat+memcached
- 二、memcache安装
- Memcache教程
- memcached 命中率问题 分析
- Memcached+PHP+Mysql+Linux 实践
- Memcached 小探
- memcached完全剖析--1. memcached的基础