gpt4 book ai didi

redis - 该组中的任何人都在使用 Redis 作为数据库

转载 作者:可可西里 更新时间:2023-11-01 11:47:57 24 4
gpt4 key购买 nike

我正在从事从 Oracle 到 Redis 的迁移项目。在 PL/SQL 中实现的业务逻辑或 CRUD 操作将用 Lua 脚本编写,这些脚本将使用 jedis 从 Java 调用。

  1. 部署这些 Lua 脚本的最佳方式是什么?

    • 我可以在 Redis 数据库中手动加载/注册脚本,然后使用 java 中的 evalsha 方法调用它们吗? – 我可能会遇到哪些问题?
    • 我可以用所有脚本创建一个 API 并从 java 代码加载它们并使用 eval 方法调用它们吗?
  2. 如果我将主从架构与 Sentinel(1 个主站、2 个从站和 3 个哨兵)一起使用,以实现具有自动故障转移功能的高可用性。我需要为这些使用 3 台服务器还是可以使用一台有 3 个端口的服务器?

最佳答案

What is the best way to deploy these Lua scripts?

您应该使用 EVALSHA 来确定脚本是否已加载到 Redis 中。如果没有,请使用 SCRIPT LOAD。这样你就不用每次执行的时候都把脚本内容发给Redis了。

Can I load/register the scripts in Redis DB manually and then call them using evalsha method from java? – What are the possible issues I get? Can I create an API with all the scripts and load them from java code and use eval method to call them.

您绝对可以手动加载脚本。但是,当脚本不在 Redis 中作为故障安全时,应用程序可能会更好地处理。如何获取内容取决于您。

If I use the master-slave architecture with the Sentinel (1 master, 2 slaves, and 3 sentinels) for high availability with automatic failover. Do I need to use 3 servers for these or can I go with one server with 3 ports?

这可能取决于您的需求。将所有内容都放在同一台服务器上会使您出现单点故障——如果该服务器出现故障或离线,您将失去与 Redis 交互的能力。

关于redis - 该组中的任何人都在使用 Redis 作为数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52091782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com