ere*_*lan 4 domain-driven-design
我有产品存储库。我想用redis作为缓存。我创建了缓存存储库。
当我想要获得产品时。首先,如果不存在,我会去缓存存储库,然后查询主数据库。如果产品存在于那里。我写入缓存并返回。
选项 1) 我通过 DI 在产品存储库中获取缓存存储库并在其中使用。
选项 2)我在命令处理程序中的应用程序层中使用产品存储库获取缓存存储库,并且分别使用两者
在我看来,您是由技术需求(即 Redis 的使用)驱动的,而不是业务需求(即为什么需要缓存?性能问题、延迟?)。
但是,总结一下 SO 中另一个线程的精彩帖子:在 DDD 应用程序中,我应该在哪一层实现数据库中查找数据的缓存?,您有以下选择:
无论哪种方式,最常见的方法之一是使用proxy模式,其中方法调用将首先被代理拦截,代理的作用是如果已经有数据,则从缓存发送数据。否则将调用委托给原始对象。
| 归档时间: |
|
| 查看次数: |
3274 次 |
| 最近记录: |