如果在两个不同的系统都使用一个REDIS服务,且有可能存在两个系统使用同一个KEY的问题。如果避免使用同一个KEY不冲突的问题。听别人说REDIS有什么空间的划分,怎么用呀?
使用冒号(:)来分隔名字的不同部分:比如键名article:92617就使用了冒号来分隔单词article和文章的ID号92617,以此来构建命名空间(namespace)。使用:作为分隔符只是我的个人喜好,不过大部分Redis用户也都是这么做的。
可以使用sys_name:key_name来区分不同系统的相同key值。
对同一个key加锁操作呢。
解决不了。我已经找到了。
参考:https://quickleft.com/blog/multi-tenant-applications-redis/
1、如果是要避免使用用一个KEY。可以在不同的系统生成GUID的方式做key。也可以让redis产生key给不同的系统使用,因为redis是单线程的,
这样就能避免同key
2、如果两个系统需要用到同一个key,为了避免一致性问题,那么可以使用事务的方式MULTI/EXEC,MULTI,EXEC中间的指令会执行完后才
继续执行后面的指令,另外,还可以使用lua脚本的方式调用,一个lua脚本里面的指令也是原子级别的,执行完后才会继续执行其他指令。
希望采纳!