目前我有三个不同的正在运行的memcached实例,每个实例都有一个环境(dev,test和live)
所有这三种环境都运行相同的memcached版本(1.4.5),configuration与Linux发行版和机器略有不同,如下所示:
Dev :Linux版本2.6.17-13mdv([email protected])(gcc版本4.1.2 20070302(prerelease)(4.1.2-1mdv2007.1))#1 SMP Fri Mar 23 15:18:36 EDT 2007 Mandriva Linux发布2007.1(官方)x86_64内核2.6.17-13mdv双处理器x86_64 / \ l
testing :Linux版本2.6.33.2-desktop-2mnb([email protected])(gcc版本4.4.3(GCC))#1 SMP Thu Apr 15 21:34:06 UTC 2010 Mandriva Linux release 2010.0(官方)对于x86处理器x86_64上的x86_64内核2.6.33.2-desktop-2mnb / l
Live :Linux版本2.6.31.13-server-1mnb([email protected])(gcc版本4.4.1(GCC))#1 SMP Tue Apr 27 27:14:30 EDT 2010 Mandriva Linux release 2010.0(官方)适用于x86处理器上的x86_64内核2.6.31.13-server-1mnb
我的问题是,在现场环境中,所有caching都是完美的,我设置了一些键/值,并按照预期做出了响应,但是在testing和开发环境中,应用程序设置了一些键/值但未能检索到它。
使用-vvvloggingmemcached的输出,可以让我了解当它尝试获取密钥时会发生什么,如下所示:
<40 get qZPh2MQDIs%2BXTBrL3C7hiAcClZgOiklYwnz0a0LN6tY%3D FOUND KEY qZPh2MQDIs%2BXTBrL3C7hiAcClZgOiklYwnz0a0LN6tY%3D。 0 2700 ?? – 过期了
这到期的nuik让我有点疯狂,幸运的是我的生活环境是好的。
我仔细检查了服务器的NTPconfiguration(我想也许如果date是错误的过期是过去或什么的),这一切都没问题,我的caching预计将持续10分钟,所有服务器都是时间同步的。
那么,任何人都可以帮助我发现哪里出了问题?
好的,find了,问题是,即使启用NTP和“date”显示正确的本地date时间在UTCdate时间有一个configuration错误。
解决scheme:date +%T -u -s“actual-UTC-time”
我不知道为什么即使使用NTP也是这样,但是如果有人遇到相同的问题,就给予一些反馈