我使用Simple Injector作为IoC容器来注入我的依赖项。目前我依赖一组主数据,并且构建此主数据的类被标记为单例,以避免频繁调用DB。
但这让我陷入困境,我无法使对象和新鲜数据无效。绝对时间缓存策略应该足以满足我当前的需求。
为了介绍缓存,我可以考虑以下方法
我更倾向于选择#3。
我希望得到一个专家意见,除了上面链接中提到的那个之外,它是否是正确的方法和可能的陷阱。
答案 0 :(得分:2)
您不应该创建自己的自定义生活方式,因为:
我会说装饰器方法会产生最好的效果。在这里,装饰器不应该保持缓存本身(因为这将使其成为有状态和可变的,而是将其委托给外部服务,如MemCache
或者可能是绑定到请求或会话的东西。