【发布时间】:2010-07-13 16:08:25
【问题描述】:
我不确定这是否可能。我在内存缓存服务器中存储了一些信息。我存储的内存缓存条目应该有 30 分钟的有效期。在这 30 分钟内,我可以通过相同的键更新该 memcache 条目引用的值。但是当我更新值时,我不想更改过期时间。例如:
- 密钥已创建并设置为在 30 分钟后过期
- 10 分钟过去了,请求键的值,我们更改值
- 我使用 memcache replace 替换了他们键的值(我不提供新的过期时间,因为它是可选的),我希望过期时间为 30-10 = 20,因为密钥是在 10 分钟前创建的并且是设置为在 30 分钟后到期。
- 现在由于我没有设置过期时间,所以它默认为 0,并且密钥永远不会过期。
现在,有没有办法在 memcache 中设置项目,设置过期时间,然后获取/替换项目,同时在我将项目设置在缓存中后将过期时间保持在 x 分钟?
我可能能够在设置到 memcache 时使用 unix 时间戳而不是秒来过期,并将该时间戳存储在 memcache 中,当我将其设置回 memcache 时,我只需将其设置为存储在值中的相同时间戳.或者有更好的方法吗?
顺便说一句,我使用的是内存缓存而不是内存缓存。
【问题讨论】: