是否有某种机制来处理高并发性的数据?
首先,我们使用mongodb,它具有解决问题的原子更新。但是更新freq总收入到1000秒左右,我们设置Redis来帮助芒果和它们之间的同步。它很好,但是我们和redis有一致的问题。
例如:
两个请求都有相同的对象?更改它的数据并在退出时保存它。
当我们使用mongodb时-我们可以对对象进行部分更新,但是使用redis -我们不能。
是否有可能同时使用来自多个进程的同一对象(数据)操作而不覆盖它的全部(仅部分)?
我发现的唯一方法是创建锁机制,并在第二次获得之前等待进程。
发布于 2015-01-27 01:43:35
Redis还没有您想要的这种机制(部分更新),但作为替代,您可以编写Lua脚本以避免并发问题。
在脚本中,您可以先读取一个值,然后按需要操作它,最后再存储该值。Redis确保脚本将以原子方式执行,这样您就不需要使用此场景的任何锁定机制。(*)
https://stackoverflow.com/questions/28156100
复制相似问题