gpt4 book ai didi

java - Infinispan MVCC 与 "put"

转载 作者:行者123 更新时间:2023-12-01 15:42:04 26 4
gpt4 key购买 nike

今天我想在一件可能不熟悉的事情上使用 Infinispan。我想保存一个变量,让我们在缓存中多次调用它 x - 同时能够将其寻址为 X。

普通、旧的 MVCC。然而,infinispan 似乎在后端使用了 MVCC - 但我无法在我的小测试应用程序中使用它。

这是相应的代码:

    acTest.put("test", "blubber", 0, TimeUnit.MILLISECONDS );
acTest.put("test", "nothing", 0, TimeUnit.MILLISECONDS );

if( acTest.containsKey("test") )
{
Object foo = acTest.get("test"); // don't know how to get the "blubber" out of that
String name = (String) test2.get("name");
System.out.println(name);
}

果然,acTest包含该键 - 但我无法解决该键的值“blubber” - 当我提高“nothing”的数值时,foo持有“nothing”......但我想得到“foo”的第一个版本 - 因此是“blubber”

我希望能够解决测试的不同版本。我认为我可以在 put 操作中使用不同的参数创建不同版本的“test” - 但是 eclipse 绝对没有这方面的文档...

有人可以帮助我吗?

最佳答案

Infinispan 在其容器中将 MVCC 用于内部用途,除了通过 writeSkewCheck 之外,目前这不是通过用户 API 公开的功能。

在版本 5.1 中,API 将公开乐观锁定,这对于某些需要利用 MVCC 功能的用例可能很有用,但您仍然无法提取以前的值。

您可以使用 AtomicMap 存储多个值,或使用包含版本的自定义键对象,在 Infinispan 的 API 之上构建您需要的内容。

DeltaAware 是另一种选择,但它是一个面向专家的低级界面。

关于java - Infinispan MVCC 与 "put",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7896940/

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