gpt4 book ai didi

.net - 如何使用 Redis 缓存实现自动刷新

转载 作者:行者123 更新时间:2023-12-03 06:44:56 24 4
gpt4 key购买 nike

MemoryCache 有一个 Set允许我指定一个委托(delegate)的方法,该委托(delegate)在通过 CacheItemPolicy 从缓存中删除缓存条目之前调用。范围。

这可以用于auto refresh the cache在不使用 Hangfire 或其他任务运行器的情况下定期进行。

如何使用 StackExchange.Redis 在 .NET 中实现这一点?

我在 Redis command reference 中找不到任何方法这将适合我的目的和 ObjectCache 的所有实现我在网上找到了一个 NotSupportedException在他们的实现中:

https://github.com/justinfinch/Redis-Object-Cache/blob/master/src/RedisObjectCache/RedisCache.cs
https://www.leadtools.com/help/sdk/v20/dh/to/azure-redis-cache-example.html
https://github.com/Azure/aspnet-redis-providers/pull/72/commits/2930ede272fe09abf930208dfe935c602c1bb510

最佳答案

Redis 中没有内置这样的东西。

但是,Redis 确实支持 keyspace notifications它提供了一种注册 Expired 的方法事件。
您可以注册一个将对此类事件使用react并刷新缓存的客户端。

另一种选择是使用 RedisGearsregisterexpired --> register(eventTypes=['exired'])事件,这样每次触发过期事件时,您在 Redis 中运行的函数都会刷新数据。

关于.net - 如何使用 Redis 缓存实现自动刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61474906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com