环境: win10 64位、memcached 1.4.4 64位、EnyimMemcached 2.16.0(ps:2.13.0也有此问题,别的版本就没试了).

EnyimMemcached git源码地址:https://github.com/enyim/EnyimMemcached

事发原因:最近有时间就想着把redis和Memcached的缓存都想一个公共类,好方便随身用,redis很快弄好了,Memcached在网上查貌似EnyimMemcached用的比较多(原来用过Memcached.ClientLibrary,抱着不走回头路的心态直接过滤了,也因为这个许多年没有更新过了.),立马开工,在vs中NuGet搜索安装,直接测试试用,

看里面有三个方法,原来没看那么多,直接用的第二个DateTime,别的也没试,Get获取值时报错,提示没有实例化(实例化不就是没值么),于是看赋值那里,结果提示返回的是true,赋值成功,但就是取值报错,折腾了一上午,查说改配置什么的都没用,用命令行赋值却又能成功,很无奈 ⊙﹏⊙.

后面无意中用了下TimeSpan,却成功了.(原来根本没想过会是参数原因!).于是就有了上面找源码。

看代码没什么不同,就MemcachedClient.GetExpiration这两个重载不一样,继续看GetExpiration方法

看返回结果都是uint类型,结果DateTime参数中是这样返回uint类型的:uint retval = (uint)(expiresAt.ToUniversalTime() - UnixEpoch).TotalSeconds;

这不是返回时间戳嘛,TimeSpan参数返回的就是分钟数了,想不通了,同样返回调用的一个是时间戳一个是分钟数,这不是瞎搞吗。

遂改为下面得分钟的:uint retval = (uint)(expiresAt - DateTime.Now).TotalSeconds;

ok,编译下把dll加载到自己项目中,使用DateTime参数的运行赋值取值成功!

最新文章

  1. python2.x 默认编码问题
  2. 表单 - Form - EasyUI提供的表单异步提交
  3. jquery的隐藏与显示
  4. EF数据库初始化策略及种子数据的添加
  5. POJ2047 Concert Hall Scheduling(最小费用最大流)
  6. iOS学习笔记---c语言第十天
  7. 最好最实用的PHP二次开发教程
  8. VB版本查询快递单号源码
  9. 从 man 指令起步(info简介)
  10. ZABBIX安装官方指南
  11. ElaticSearch网站
  12. TexturePacker 介绍
  13. 【百度地图API】如何批量转换为百度经纬度
  14. 十一章:用CSS进行布局
  15. Yii2发送邮件
  16. JSP面试题都在这里
  17. 设计模式总结篇系列:装饰器模式(Decorator)
  18. Page7:能控性、能观性及其判据和对偶原理(2)[Linear System Theory]
  19. ABP中针对sql2008的数据库配置
  20. js 的深拷贝

热门文章

  1. .net使用httpHandler添加图片防盗链
  2. 【校招面试 之 C/C++】第10题 C++不在构造函数和析构函数中调用虚函数
  3. 7-掉馅饼(数组dp)
  4. 转载博客:rabbitmq
  5. IIS PHP Warning: Unknown: open(c:\\php\\tmp\\sess_xxx, O_RDWR) failed: Permission denied (13) in Unknown on line 0
  6. 判断浏览器是ie9座特殊处理
  7. 团队项目:二次开发--v.2.1--软件工程
  8. jquery节点获取
  9. UI设计规范:单选按钮 vs 复选框,没那么简单
  10. mvc的表单发送ajax请求,太强大了!!!!