2 norths norths 于 2015.06.07 20:50 提问

Redis 多系统使用同一KEY的处理? 20C

如果在两个不同的系统都使用一个REDIS服务,且有可能存在两个系统使用同一个KEY的问题。如果避免使用同一个KEY不冲突的问题。听别人说REDIS有什么空间的划分,怎么用呀?

5个回答

devmiao
devmiao   Ds   Rxr 2015.06.07 21:20
ycg514230
ycg514230   Rxr 2015.06.12 12:49

1、如果是要避免使用用一个KEY。可以在不同的系统生成GUID的方式做key。也可以让redis产生key给不同的系统使用,因为redis是单线程的,
这样就能避免同key
2、如果两个系统需要用到同一个key,为了避免一致性问题,那么可以使用事务的方式MULTI/EXEC,MULTI,EXEC中间的指令会执行完后才
继续执行后面的指令,另外,还可以使用lua脚本的方式调用,一个lua脚本里面的指令也是原子级别的,执行完后才会继续执行其他指令。

希望采纳!

oyljerry
oyljerry   Ds   Rxr 2015.06.07 21:03

对同一个key加锁操作呢。

norths
norths   2015.06.07 21:16

解决不了。我已经找到了。

u010082764
u010082764   2017.06.27 10:09

使用冒号(:)来分隔名字的不同部分:比如键名article:92617就使用了冒号来分隔单词article和文章的ID号92617,以此来构建命名空间(namespace)。使用:作为分隔符只是我的个人喜好,不过大部分Redis用户也都是这么做的。

可以使用sys_name:key_name来区分不同系统的相同key值。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!