gpt4 book ai didi

java - 我怎样才能从 Gemfire 获得独特的长?

转载 作者:行者123 更新时间:2023-11-29 05:11:40 24 4
gpt4 key购买 nike

我们正在开发直接与 Gemfire 对话的分层 Java 应用程序。

我们需要能够生成唯一的“长”序列号,保证在应用程序的所有节点中都是唯一的。 (并非所有节点都集群)

通常我会在 Oracle 中创建一个序列,但在这种情况下,即使我们的 Gemfire 配置连接到关系数据库以实现持久性写入,我们的应用程序对数据库一无所知。

在不访问数据库的情况下生成那些保证唯一的 long 值的最佳方法是什么?

最佳答案

要问自己的第一个问题是您真的需要一个长序列号(单调递增的长整数)还是只需要一个全局唯一标识符(如 UUID)。

最高效的解决方案将是一个全局唯一的 ID,我只建议使用 GUID。

如果您需要一个全局唯一的单调递增的长值(长序列),那么您将不得不使用一些分布式锁定并在该区域中递增一个值。此方法和性能取决于您使用的区域类型。

查看 Region.replace(K, V, V)。它可以对特定区域定义下的值执行全局原子更新。如果您当前的区域类型定义不充分,您可能需要考虑一个只有您的序列的区域。

关于java - 我怎样才能从 Gemfire 获得独特的长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28198508/

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