到期日期对MemoryCacheClient有影响吗?

4
如果使用 XRedisClientManager 作为 ServiceStack 的缓存管理器,那么 Redis 本身就能够强制执行生存期。如果使用 MemoryCacheClient,这将不会产生任何影响,对吗?
1个回答

3
如果您已注册使用ServiceStack的RedisClient作为ICacheClient缓存提供程序,那么所有缓存都将仅使用Redis客户端,并且包括expiryDate的任何API调用都将被转发到Redis。
这不会影响MemoryCacheClient,因为它根本不会被使用,只有您在IOC中注册的一个会被使用。虽然在使用MemoryCacheClient时,条目不会自动在后台过期,而是在尝试访问已过期的条目时手动使其无效。

我正在使用MemoryCacheClient,刚才与Redis进行了比较。我希望将其用作临时存储,并且希望项目在超时后能够自动清除,而不是手动清除它。我猜这在MemoryCacheClient中是不可能实现的。 - Shagglez
1
它不会在幕后自动清除所有过期的条目,但在您尝试访问一个过期的条目时会逐个清除。 - mythz
哦,这很有见地。MemoryCacheClientRedis 都是这样吗? - Shagglez
不需要 Redis 客户端显式地使条目无效,因为 Redis 服务器(即外部进程本身)会处理过期的条目。 - mythz
好的,谢谢。你能把关于过期部分的评论加入到答案中吗?这回答了我的问题。 - Shagglez
好的,完成了。另外在未来,您能否提出更少含糊不清的问题,因为很难知道这里期望得到什么答案。 - mythz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接