Memcached expire 设置错误引起的set(key,exp,value)为true而get(key)为null的问题
来源:互联网 发布:mac spss24 编辑:程序博客网 时间:2024/05/18 20:12
Memcached expire 设置错误引起的set(key,exp,value)为true而get(key)为null的问题
分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
最近项目中使用到了Memcached,而客户端选择了XMemcached ,在设置过期时间时,因对Memcached 不熟悉,将expire 设置为1000000000,本意表示尽量长的时间不要过期,但在测试时发现,memcachedClient.set(key,exp,value)结果返回true,即代表该项已成功存入缓存,但当调用memcachedClient.get(key)时始终返回为null,起初以为key的生成策略有误,后来当把exp填了个1000时,Memcached的set 和 get方法均返回true,看来问题出在expire,所以查了下文档,发现Memcached默认expire为0即代表永不过期,而这个过期时间最长为30天= 30*24*60*60 = 2592000秒,所以又将expire配置为2592000秒,发现正常执行,为了测试Memcached是否为最长30天,又将该值加了1变成2592001,此时出现了和开始一样的错误,set返回 true,但get返回为null,这样应该映证了30长最长时间的猜想。而这个时间应该是Memcached本身设置的,经过查找发现Memcached源码memcached.c里边有如下代码。注意第一行 #define REALTIME_MAXDELTA 60*60*24*30 即为30天。
XMemcached是一个新java memcached client。Memcached 是一个高性能的分布式内存对象的key-value缓存系统,用于动态Web应用以减轻数据库负载,现在也有很多人将它作为内存式数据库在使用,memcached通过它的自定义协议与客户端交互,而XMemcached就是它的一个java客户端实现。
关于XMemcached详细说明,参考XMemcached简介
阅读全文
0 0
- Memcached expire 设置错误引起的set(key,exp,value)为true而get(key)为null的问题
- Memcached expire 设置错误引起的set(key,exp,value)为true而get(key)为null的问题
- Memcached expire 设置错误引起的set(key,exp,value)为true而get(key)为null的问题
- HashMap、HashTable的key和value是否可为null
- Hashtable/HashMap与key/value为null的关系
- HashMap、HashTable的key和value是否可为null
- Hashtable/HashMap与key/value为null的关系
- 设置redis key的expire过期时间
- java.util.HashMap中的key为对象的问题,对象key获得相应的value值
- android JSONObject中对key-value为null的特殊处理
- 笔记001--Hashtable/HashMap与key/value为null的关系
- HashMap、HashTable的key和value是否可为null 或者 ""
- memcached对key和value的限制
- php输出memcached 的key-value
- Redis设置Key的过期时间 – EXPIRE命令
- 为什么Hashtable ConcurrentHashmap不支持key或者value为null
- Map的key,value与null简例
- oracle查询 将对应的key转换为value
- Linux 相关
- Excel合并工作表的神器—Power Query
- 面向对象--构造函数
- linux线程池
- iOS获取设备型号和App版本号等信息(OC+Swift3.0)
- Memcached expire 设置错误引起的set(key,exp,value)为true而get(key)为null的问题
- Codeforces Round #257 (Div. 2) B. Jzzhu and Sequences
- sql 查询按照分组将多条记录转换成单条记录的group_contact()函数
- ffmpeg中的x264编码选项,对应关系
- Unity Shader学习笔记:入门简述
- EasyUI使用代码
- POJ 2774Long Long Message(后缀数组入门题)
- SpringMVC--配置FastJSON为JSON处理器
- STRHH