这是我正在考虑做的事情,我想知道你是否认为这是个好主意。
我从数据库中检索了一堆行,这在 groovy 中给了我一个列表列表,例如:
[
[ 'Dog', 'M', 'Mutt', 'Sammy' ],
[ 'Cat', 'F', 'Siamese', 'Pat' ],
[ 'Dog', 'M', 'Husky', 'Taco' ],
...
]
不是我的真实数据集,但你明白了。
由于我将非常频繁地提取这些数据并在将其呈现在 UI 中之前对其进行一些分析,因此我想将其存储在由 groovy 映射(即 LinkedHashMaps)键入的MultiValueMap中,因此我可以检索其中的点点滴滴我需要,而不是每次都去数据库。它是来自多个表的数据子集的缓存(比上面的动物数据更复杂)。
我可以这样使用它:
animals.get([species:'Dog', gender:'M'])
返回:
[['Sammy', 'Mutt'], ['Taco', 'Husky'] ]
我想我知道如何实现它,所以我并不是真的在寻找它(尽管如果你有一个新颖的建议,请分享)。我主要是在找人告诉我,这要么由于某种原因不起作用,要么听起来不错,要么无法扩展,等等。或者也许有一些更简单的方法可以获得类似的功能。另一个考虑因素:整个数据集有时可能有点大,例如只有 10 万条记录。如果不是这样,除了每次都点击数据库之外,还有什么好方法来处理它?
我意识到周围有很多键/值缓存解决方案,但我认为我正在做的事情不需要如此繁重的任务。它只是一个使用率很低的小型 web 应用程序,主要是我正在为其构建的公司内部。