使用Redis Cluster,是否可以仅将哈希标签传递给eval?

从Redis文档上eval可以看到:

不应该代表键名

在Redis集群教程中

哈希标签记录在Redis

Cluster规范中,但是要点是,如果密钥的{}中的括号之间有一个子字符串,则仅对字符串中的内容进行哈希处理,例如,此{foo}键和另一个{foo}

key保证在同一哈希槽中,并且可以在以多个key作为参数的命令中一起使用。

是否可以仅传递哈希标签,或者仅传递带有该哈希标签的一个键?我们希望eval的内容可以与由另一个键的内容确定的一组动态键一起使用,但是每个键都属于同一个hash标签。

回答:

是的, 应该 可以。

如文档中所述:

必须在执行之前分析所有Redis命令,以确定该命令将对哪些键进行操作…。请注意,未强制执行此规则是为了向用户提供滥用Redis单实例配置的机会,而不会编写脚本与Redis

Cluster兼容。

因此,只要您确保脚本与Redis Cluster兼容,就可以不遵循此规则。这意味着对的调用EVAL应指定一组散列到一个且只有一个服务器的密钥。

仅使用单个键(例如{foo})就可以正常工作。

以上是 使用Redis Cluster,是否可以仅将哈希标签传递给eval? 的全部内容, 来源链接: utcz.com/qa/413853.html

回到顶部