为了账号安全,请及时绑定邮箱和手机立即绑定

更新内存中的数据

更新内存中的数据

C#
白板的微信 2018-12-13 05:02:28
有15张数据库表load进内存中,大概需要内存10G(数据量比较大),随时有request访问内存中的这些数据(平均每分钟2次),然后每10分钟需要把这15张表的内容从数据库中update到内存中一下,问题就来了:如果在update的过程中有request,拿到的数据可能是update了一半的数据,表和表之间是有关系的,这样的数据不能使用。我该怎么解决这个问题?请大神说出您详细的思路,谢谢!
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

缓存是要有粒度划分的,你这样将整个库作为缓存单位,这个问题就没法解决。以记录为单位缓存,或者以需要的逻辑将若干条记录作为一个单位进行缓存。

查看完整回答
反对 回复 2018-12-18
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

每10分钟需要把这15张表的内容从数据库中update到内存中

这个是为了同步数据?

update的过程中有request,只能让request等待 update 操作完成。

数据量这么大的话,除了第一次写入内存比较多之外,其他的时候没必要重新写入相同的数据。

你可以写个触发器之类的,数据变更之后,自动的更新内存中的数据,如果每一次都全部重写,肯定很慢而且没必要这么做。


查看完整回答
反对 回复 2018-12-18
  • 2 回答
  • 0 关注
  • 554 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信