【发布时间】:2023-03-03 01:57:01
【问题描述】:
鉴于它是the hard things in computer science 之一,有人知道设置可插入缓存策略的方法吗?
我所想的将允许我编写一个程序,而无需考虑需要缓存的内容(即使用某种样板、低成本/无成本的模式,在我可能想要的任何地方编译成任何东西缓存),然后当事情进展得更远并且我知道我需要缓存的位置时,我可以在不进行侵入性代码更改的情况下添加它。
作为我正在寻找的解决方案的一个想法;我正在使用D programing language(但半理智的 C++ 就可以了),我喜欢模板。
【问题讨论】:
-
缓存什么样的东西?在哪里?就目前而言,这个问题毫无意义。
-
这个问题对我来说很有意义,尼尔。也许这应该被标记为“通用编程”?
-
@Neil。 缓存函数的返回值。 除此之外,不要做任何假设:它可能是一个纯函数,也可能不是。它可能是从数据库或网页加载数据,或者只是从本地磁盘加载数据,或者只是动态计算。它甚至可能是无法缓存的东西(判断该值是否过时的唯一方法是再次获取该值)。解决方案必须能够以任意组合方式处理上述所有问题。
-
@BCS 该评论不应该成为问题的一部分吗?
-
我所说的简而言之就是“假设我没有说什么”。我真的需要添加吗?
标签: c++ design-patterns caching d