我们正在尝试使用Gemfire在Pivotal Cloud Cache中设置缓存过期时间。我们已经在PCF中设置了我们的区域:
Cluster-0 gfsh>describe region --name=/CartTest
Type | Name | Value
------ | ----------------------- | ---------
Region | data-policy | PARTITION
| entry-idle-time.timeout | 60
| size | 0
| statistics-enabled | true
| entry-idle-time.action | DESTROY
创建Cart
对象时,该对象将被写入缓存(我们可以
请在上方的size
条目中查看)。
如果我们从代码访问对象,则似乎并没有更新条目的访问时间。例如:
@ 11:00:00-创建条目
@ 11:00:30-访问条目
@ 11:01:00-条目消失了
我希望该条目在11:01:30之前仍然存在(我只是出于测试目的而使用短时间的超时)。空闲时间几乎就像是生存时间一样。当我们使用lastAccessTime
查看该区域的gfsh
时,该区域未被更新。
知道我在做什么错吗?
答案 0 :(得分:0)
需要验证的东西。
使用SDG(spring-data-gemfire)轻松放入数据的方法是通过 Spring Data Repository 抽象。
答案 1 :(得分:0)
更正:lastAccessedTime
未被更新的原因是因为我们没有通过ID字段获取条目,而是在对象的其他两个字段中进行搜索。当我们使用这两个字段并创建一个组合键,并将其设置为@Id
字段时,检索对象的时间就会更新。
使用分区的Gemfire区域,对辅助分区的任何访问都不会更新主分区的lastAccessedTime
。因此,这无法实现我们想要的功能,我们需要添加一些代码。