一台运行在 Redis 集群中的节点上的 Lua 脚本是否能够获取另一节点的键?

可以在 Redis 集群中的一个节点运行的 Lua 脚本获取另一个节点中的键吗?

示例:

节点 A

  • key1 val1
  • key2 val2

节点 B

  • key3 val3

脚本:

return redis.call('get', 'key1') + redis.call('get', 'key2')

另外,是否有尝试在 Redis 集群中支持 MapReduce?

点赞
用户1377308
用户1377308

遗憾的是,在lua脚本中不能操作来自多个分片的键 - 您必须确保创建分片规则,以确保所有涉及到脚本运行的键都在单个分片上。否则,您将不得不在客户端代码中自行应用reduce阶段。

http://grokbase.com/t/gg/redis-db/136q7m853y/atomicity-of-lua-scripts-against-cluster

2014-06-09 16:51:22