【发布时间】:2020-10-13 11:18:45
【问题描述】:
键:名字 价值:武士 有效期:6小时
public static bool Add<T>(this IDatabase cache, string key, T value, TimeSpan? expiry = null)
{
dynamic response;
response = cache.StringSet(key, JsonConvert.SerializeObject(value, jsonSettings), expiry, flags: CommandFlags.DemandMaster);
}
return response;
}
假设此时 TTL 为 10 分钟。 IE。 5小时50分钟过去了,10分钟后密钥将被删除。但是如果有人对这个键执行 get 操作。到期应再次重置为 6 小时。
一个简单的方法是再次执行cache.StringSet。但我担心这可能会降低重负载测试下的性能。有其他选择吗?
【问题讨论】:
-
顺便说一句,你不需要告诉它
StringSet需要被路由到主节点——它知道
标签: c# caching redis azure-redis-cache