谈一谈Redis的incr命令
大家讲道理
大家讲道理 2017-04-22 09:00:09
0
2
669

incr命令自动加一是只相对于这台机器而言还是相对于整个redis集群?
比如我一开始只有1台机器。有一个参数是count,这台机器的count达到了10000。
然后我增加了一台redis机器。
很显然,我的初衷是我再来取count的时候是从10000开始的。也就是说,整个变量对整个redis集群而言是唯一的。
此外,redis的主从同步大概要花多长时间?(就是立即同步那种,数据只存在内存中间)

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
左手右手慢动作

你需要集群中的机器保持数据一致性,前提是有主备关系。
你在A机器上对一个变量a做incr操作到10000,其他机器是不会去更新你这个值的,除非在集群中你这台机器是master,而其他机器都是你这台机器的slave,这样其他机器会去把它自身的a值更新到10000;
增加机器也一样,增加的机器如果是你这台机器的slave,那么它会更新a的值。从10000开始。

黄舟

你看过redis集群的实现和配置吗?redis自己的集群实现比如三台机器ABC,A里有了 key:"A_KEY",那么操作集群去get set不论在哪台(ABC)机器去执行,拿到都是A里的key:"A_KEY",所以你的这个问题的答案是没问题的。

但你提到了增加机器,上面的答案是建立在假设你作为用户操作都没有错误的情况下,增加机器就要把之前分到ABC3台机器的分量改成ABCD4台机器,所以这里面有一些要操作的东西。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板