环境: 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参数的运行赋值取值成功!

EnyimMemcached中用DateTime参数设置过期后赋值有问题的解决.的更多相关文章

  1. css中hover设置边框后div中内容后移解决方法

    <style> .demo{width:1200px;height:400px;background:#fff;} .demo:hover{border:1px solid #cecece ...

  2. redis string类型设置过期时间后 再进行set操作,会清除过期时间

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_41756437/article/d ...

  3. C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法

    原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 本人新手,在.Net中写WebAPI的时候,当接口返回的json数据含有日期时间类型的字段时, ...

  4. Java虚拟机参数设置(转)

    今天在加载一幅图片时,eclipse报出如下错误: “Exception in thread "main" java.lang.OutOfMemoryError: Java hea ...

  5. Direcshow中视频捕捉和参数设置报告

    Direcshow中视频捕捉和参数设置报告 1.      关于视频捕捉(About Video Capture in Dshow) 1视频捕捉Graph的构建 一个能够捕捉音频或者视频的graph图 ...

  6. (转)x264的一些参数设置对编码效率的影响

    转自:http://www.cnblogs.com/wainiwann/p/5647521.html i_luma_deadzone[0]和i_luma_deadzone[1]分别对应inter和in ...

  7. pycharm启动慢 –xms -xmx相关参数设置

    Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) sp ...

  8. Eclipse启动参数设置

    Eclipse启动参数设置 文件路径:安装目录根路径/eclipse.ini 参数注解: [-debug options -vm javaw.exe] 显示JVM当前内存使用量(注:详见下方<让 ...

  9. java jvm内存管理/gc策略/参数设置

    1. JVM内存管理:深入垃圾收集器与内存分配策略 http://www.iteye.com/topic/802638 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想 ...

随机推荐

  1. 第五章 二叉树(c)二叉树

  2. chest

    chest - 必应词典 美[tʃest]英[tʃest] n.胸部:胸膛:有…胸的:胸部…的 网络胸围:箱子:胸腔 变形复数:chests:

  3. ios 处理WKContentView的crash

    http://www.jianshu.com/p/7ef5814a871b     解决WKContentView没有isSecureTextEntry方法造成的crash 程序中有web页面,使用W ...

  4. [leetcode]173. Binary Search Tree Iterator 二叉搜索树迭代器

    Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the ro ...

  5. Linux之常用命令

    1.cd命令 这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径.如: cd /root/Docements # 切换到 ...

  6. c语言定义函数指针和typedef简写

    二种方法来定义函数指针 #include<stdio.h> #include<stdlib.h> #include<Windows.h> int add(int a ...

  7. 通过yiic来创建yii应用

    一.通过yiic来创建yii应用 (*yiic命令在yii下载包的framework目录下) 1.把你自已的php环境添加到系统环境变量中. 2.在命令行下输入: yiic webapp 位置\名称 ...

  8. Jmeter运行过程中如何让Fiddler同时可以抓获到服务器的应答报文

    在默认情况下,Jmeter运行过程中,Fiddler是抓不到对应的应答报文的. 但是,在某些时候,我们希望分析Jmeter执行失败的原因,想了解Jmeter获取到的应答报文是否有问题,就需要同服务器返 ...

  9. 不能错过的Sketch实用新技巧和资源集锦

    Sketch是一款基于Mac的矢量绘图应用.面对着功能复杂繁琐的photoshop,Sketch相比较而言身轻如燕.最近也掀起了用Sketch设计产品原型的热潮,因为用它来画设计稿简直轻而易举,相比于 ...

  10. devart 放大招了

    前面我纪念BDE 的文章里面说过,devart 会在今后在数据库存取技术上会有更大的 进步,没想到很快devart 放大招了.在最新的unidac 和sdac 中,devart 支持在非Windows ...