【发布时间】:2015-06-27 10:50:29
【问题描述】:
假设我有一个包含 TABLE_ID、CUSTOMER_ID、ACCOUNT_NUMBER、PURCHASE_DATE、PRODUCT_CATEGORY、PRODUCT_PRICE 列的表。 此表包含在某个商店进行的所有购买。
请不要专注于更改数据库模型(有明显改进的可能性),因为这是一个虚构的示例,我无法更改实际的数据库模型,这远非完美的。 我唯一可以更改的是使用现有数据库模型的代码。
现在,我不想一直访问数据库,所以我必须将数据存储到缓存中,然后从那里读取。问题是,我的程序必须支持各种各样的东西:
- 客户 X 在 Y 日购买的总价值是多少?
- 购买类别 X 的产品的总价值是多少?
- 给我一份按 customer_id 分组的总支出清单。
等等
我必须能够在我的缓存中保留此层次结构。
一种可能的解决方案是在地图中放置地图...等等。
但是,这很快就会变得混乱,因为我需要为表中的每个属性设置一个额外的嵌套级别。
有没有更聪明的方法来做到这一点?
【问题讨论】: