如果值在过去x分钟内未被修改,是否有一种直接的方法使Redis键过期?我怀疑这是可能的-但我想知道是否有本地解决方案或逻辑和/或额外状态很少的东西。现在,这种行为可能已经存在了——我在一个键上调用了EXPIRE。然后,如果我对该键调用SET,我可以再次调用EXPIRE,并且该键将使用新值而不是旧值EXPIRE? 最佳答案 你的假设是正确的,只是一个接一个地过期。EXPIRE不会累积或重置或任何东西,它只是将计时器设置为新值。示例(没有冗长的错误处理):'usestrict';letclient=require('redis').cr
如果值在过去x分钟内未被修改,是否有一种直接的方法使Redis键过期?我怀疑这是可能的-但我想知道是否有本地解决方案或逻辑和/或额外状态很少的东西。现在,这种行为可能已经存在了——我在一个键上调用了EXPIRE。然后,如果我对该键调用SET,我可以再次调用EXPIRE,并且该键将使用新值而不是旧值EXPIRE? 最佳答案 你的假设是正确的,只是一个接一个地过期。EXPIRE不会累积或重置或任何东西,它只是将计时器设置为新值。示例(没有冗长的错误处理):'usestrict';letclient=require('redis').cr
我正在编写一个Kotlin库。在其中一门课中,我有以下内容:classSessionWrapper{/***Thetimeinmillisecondsafterwhichthesessionwillexpire.*/varexpiryTime=DEFAULT_EXPIRY_TIMEget(){mainThreadCheck()returnfield}set(value){mainThreadCheck()field=valueupdateExpiry(value)然而,updateExpiry(long)的行为应该对SessionWrapper的客户端是透明的,如果他们修改expiry
我正在编写一个Kotlin库。在其中一门课中,我有以下内容:classSessionWrapper{/***Thetimeinmillisecondsafterwhichthesessionwillexpire.*/varexpiryTime=DEFAULT_EXPIRY_TIMEget(){mainThreadCheck()returnfield}set(value){mainThreadCheck()field=valueupdateExpiry(value)然而,updateExpiry(long)的行为应该对SessionWrapper的客户端是透明的,如果他们修改expiry