【发布时间】:2018-03-02 06:37:26
【问题描述】:
例如,我有一些存储库来获取我需要的一些数据:
Addressrepository.GetAddress(string para1, string para2)
UserRepository.GetUserDetail(string userName)
FinancialRepository.GetFinancialInfo(int userId)
要应用缓存模式,我想这样做:
- 基于传入的参数和每个标识符的一些标识符 存储库,构造一个密钥。
- 检查内存缓存(如果我们沿着这条路线检查,则检查 redis 缓存)。
- 如果信息找不到或过期,调用repository函数抓取数据并放入缓存。
理想情况下,我想为所有数据加载函数编写一个通用帮助类来执行此操作。类似于此处描述的缓存模式: https://blog.cdemi.io/design-patterns-cache-aside-pattern/
但是,就我而言,我需要将不同的参数传递给不同的方法。在这种情况下,是否可以使用 Func 并传递不同的参数?
我检查了msdn关于这个:
Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult> Delegate
但是如何传递不同类型的参数和不同数量的参数呢?
【问题讨论】:
-
根据您的要求“将不同的参数传递给不同的方法”的模糊性,这有点难以回答。你能举一些例子来说明你想做什么吗?
标签: c# caching design-patterns