gpt4 book ai didi

.net - ObjectCache 的异步版本?

转载 作者:IT王子 更新时间:2023-10-29 05:57:26 25 4
gpt4 key购买 nike

我正在考虑通过 ObjectCache 实现一些分布式缓存客户端(Redis 和 Memcached)类(class)。我注意到的一件事是这个抽象类上的所有方法都是同步的,这意味着它们都不返回任务。由于在分布式缓存中获取或放入东西的调用将离开本地机器并包括网络旅行,我想使用这些操作的异步版本。那么.Net框架中有没有像CacheObject这样支持Async模式的标准缓存类呢?

最佳答案

虽然@TrevorBrooks 提到的并行扩展包中有一个 AsyncCache,但它并没有像我预期的那样工作。我需要使用可以等待的任务从分布式缓存中放置/获取/删除项目。所以我最终创建了以下界面:

public interface IAsyncCache<T>
{
Task Initialize(Dictionary<string, string> parameters);
Task Put(string key, T value, TimeSpan lifeSpan);
Task<T> Get(string key);
Task Remove(string key);
}

从那以后,我已经能够针对多个缓存提供程序实现该接口(interface),这些缓存提供程序为其 get/put/remove 方法提供任务/异步版本并且运行良好。

I posted this code on github .

关于.net - ObjectCache 的异步版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23162248/

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