问题标签 [geode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
geode - 动态值类 - 直到运行时才知道模式
所有存储多字段数据的示例都需要指定一个值类。但是,直到运行时我才知道这些字段或其类型。我希望能够创建一个具有一组动态字段值的区域。例如,
put --key=101 --value=('firstname':'James','lastname':'Gosling')
--region=/region1 --value-class=data.Person
但是,data.Person
该类不存在。
此外,我希望能够查询该firstname
字段(或该值的任何其他字段)。
我怎样才能用 Geode 做到这一点?
spring-boot - 尝试对其进行操作时获取@autowired intance null,抛出空指针异常
我正在尝试使用 crud 存储库将数据保存在 gemfire 上。我创建了一个操作类来调用存储库的保存方法,但是在自动装配的实例中我得到空指针异常。下面是我的代码:
spring - 是否可以在同一个 Gemfire 区域存储两个 bean 对象?
我们正在尝试创建两个 Gemfire 存储库,因为它们正在处理两个不同的 bean 对象,但我们希望将这两个 bean 对象存储到同一个 gemfire 区域中。
这是正确的方法吗?如果“是”,那么该怎么做?
提前致谢。
spring-boot - 是否可以使来自 gemfire 区域(如 redis)的特定密钥的数据过期
嗨,我是 gemfire 的新手,我想在我设置的空闲时间后从 gemfire 区域中获取特定键的数据。
我通过下面的代码使用redis做到了这一点。
但是如何在 gemfire 中做到这一点。
任何帮助。
谢谢。
java - 未知 pdx 类型=4
我的分布式geode
系统之前还不错,最近不行,不知道是不是跟昨晚公司停电有关。似乎之前保留的所有 geode 数据现在都无法反序列化。
这是错误信息:
我的项目是建立在 play 框架上的,我的 geode 缓存和区域配置是这样的:
java - 是否可以使用 java 删除 gemfire 中的特定数据(键及其特定值)?
我们可以删除特定区域中的整个数据,但是如果可以,是否可以删除一个特定的键及其在 gemfire 中的值,那么如何? 如果没有,那为什么?
GeodeConfiguration 类
@Configuration 公共类 GeodeConfiguration {
}
移动控制器类
@Controller 公共类 MobileController {
}
在上面的代码中,名称是每次都会更改的键,我们要删除键及其传递的值
gemfire - Geode Redis 适配器
大家好,希望有人可以帮助我进行一些查询/配置以使用Geode Redis 适配器。我在确定如何/是否可以在我的 Geode 集群中配置多个 Redis 服务器以在高可用性设置中运行时遇到了一些困难。
我对 Geode 很陌生,但了解在传统的 Geode 应用程序中,客户端与定位器进程交互以访问集群中的数据并平衡负载。鉴于此适配器的目的是作为 Redis 的替代品(即客户端不需要更改),我想它的功能会有所不同。
这是我到目前为止所尝试的:
我根据此链接从源代码构建并成功gfsh
在 2 个 CentOS 7 VM 上安装了 cli:
- 192.168.0.10:主机1
- 192.168.0.15:主机2
在 host1 上,我运行以下命令:
在 host2 上,我运行以下命令:
在 host1 上,我检查当前配置:
对于每个区域,我都可以看到服务器 redis 和 redis2 作为托管成员 - 例如
在这一点上,我转向了redis-cli
一些测试。鉴于之前的输出,我的期望是,如果我在一台服务器上设置密钥,我应该能够从另一台服务器读取它:
如您所见,针对 host1 上添加的密钥的查询返回 (nil)。我非常感谢这里的任何帮助。是否有可能实现我在这里的目标,或者 Redis 适配器是否只允许您扩展单个服务器?
gemfire - 更改 Geode 区域的数据策略
我刚刚开始探索 Geode Redis Adaptor。我希望保存 Redis 数据的区域将数据持久保存到磁盘并使其在服务器重新启动时可用。我希望数据策略为“partition_persistent_overflow”。有没有办法配置这个?我试着做:
那没有帮助。任何帮助,将不胜感激。
gemfire - 在没有查询索引的字段上运行 Gemfire 查询
在 gemfire客户端中的 GF 事务期间查询区域中的字段时,我们看到以下异常。
根据我们的反复试验,它仅在满足以下标准时才会发生
事务正在运行:即调用
gemfireCache.getCacheTransactionManager().begin()
然后执行查询不为查询/字段创建功能索引
QueryService.createIndex(String, String, String)
:即在初始化期间未在特定字段上调用
3. where condition在region数据中有一个可以为null的字段:即如果run "SELECT * FROM /REGIONNAME WHERE fieldName = $1"
,如果fieldName
某个entry为null,则抛出上述异常,否则,正常。
我们正在使用从QueryService.newQuery("SELECT * FROM /REGIONNAME WHERE fieldName = $1")
. 如果我没记错的话,查询服务是本地服务,而不是在服务器上运行查询。
我们正在使用 Gemfire 8.2.1
如果您需要更多信息,请在下方评论。
--- 2016 年 5 月 12 日更新 ---
终于有时间整理一个简单的测试用例来说明问题:
我使用 JUnit 启动进程,只是个人习惯。第一个测试用例在端口 40001 上启动一个具有共同定位器的服务器
第二个测试用例启动一个客户端进程并在事务中运行一个没有索引的查询。
域对象:ValueEntry.java
服务器属性和 xml:
客户端属性和 xml:
ttl - Gemfire CACHING PROXY
I am using CACHING_PROXY for a Client Gemfire region, and it looks like the Caching that happens on the client is not honoring the TTL set for the entry in the backing region on the Server. Is there a way to have the Caching Proxy honor the TTL for the entry on the backing server region.