对Redis集群中的读副本执行只读Lua脚本

niwlg2el  于 2023-03-28  发布在  Redis
关注(0)|答案(1)|浏览(160)

我有:
1.一个Redis集群,包含主节点和读副本。
1.写数据(键)的Lua脚本。

  1. Lua脚本只读取数据。
    我想让只读的Lua脚本在我的Redis集群中的副本上执行。我该怎么做?
    据我所知,ReadFrom.REPLICA_PREFERRED option只适用于读取命令,即GET或SCAN
    我使用的是Spring Data Redis库。
ovfsdjhp

ovfsdjhp1#

您可以使用Eval标志:
通常情况下,当你运行Eval脚本时,服务器并不知道它是如何访问数据库的。默认情况下,Redis假设所有脚本都读写数据。然而,从Redis 7.0开始,在创建脚本时有一种方法来声明标志,以告诉Redis它应该如何行为。
使用标志no-writes:该标志指示脚本只读取数据而从不写入。

#!lua flags=no-writes

有关只读脚本的详细信息。

相关问题