我有一个包含 200 个表的应用程序 - 分为 4 组
非事务性(50 个表)- 诸如部门、名称等表,有时由管理员更新一次(100000 次读取:1 次写入率和 1 次写入/月)
较少事务(50 个表)- 诸如设置、产品、税率之类的表读取更多,插入频率很低,但每天都会发生写入(1000 次读取:1 次写入率和 1 次写入/天)
事务性(50 个表)- 订单、收据等表,写入和读取几乎相同(10 次读取:1 次写入和 1 次写入/小时)
繁重事务(50 个表)- 任务、历史记录等表,这些表写得更多,读得更少,但被服务和报告使用(1 次读取:1 次写入和 1 次写入/分钟)
我正在使用 hibernate、struts2 和 spring 并寻找缓存策略以获得最佳性能和效率。
如果您观察到我在写入和读取最多的表中有更多数据,因此将它们缓存在更关键的位置。
我可以缓存第 4 组表吗?如果是怎么办?
我可以缓存第 3 组表吗?如果是怎么办?
我可以缓存第 2 组表吗?如果是怎么办?
我可以缓存第 1 组表吗?如果是怎么办?
我可以在内存数据库中使用某些表吗?
在某些情况下视图会帮助我吗?哪些情况?
好吧,我最终想要的是从内存数据库中快速读取访问,一些东西会随着数据库的变化而更新我的内存数据库。比如说我有产品列表,内存中有订单列表,但是当添加任何新产品或订单时,这个列表必须重新加载。通常,所有读取都从某个内存数据库中读取,而所有写入直接 db 并带有触发器以更新列表或列表项。