我需要从DB中缓存以下数据以便于访问:如何缓存映射数据
数据被如此映射:A,B和C都是具有ID的对象。我将有作为,B和C的列表,使得:
- 许多被映射到许多烧烤
- 许多B映射到许多铯
我将获得一个A和一个C和将被要求查找如果C落在给出A.
我想我可以有2个高速缓存
- ABCache:什么是BS为A - 1:许多
- BCCache:什么是铯的每个B - 1:许多
办法一:我可以通过BCCache循环,找到通过ABCache的B,然后循环,找出A和然后比较给定的A.
另一种方法:我可以遍历ABCache并找到所有Bs,然后循环遍历Bs以查看C是否落入任何Bs中。
还有其他更好的方法吗?
如果这是您需要进行的唯一查找,您还可以使用“ACCache”。插入是一个更加昂贵的过程,但最后你需要更少的内存,并且获得更快的结果 - 尤其是如果你对缓存进行排序 – maja
为什么不使用一个大对象来存储每个C的A呢?你可以发现C是否立即落入A. – maja