ignite - 在 apache Ignite 中触发

标签 ignite in-memory-database gridgain

任何人都可以告诉我 Apache Ignite 中是否有可用的基于时间的触发策略?

我有一个对象在那个日期(时间戳)过期时有过期日期我想更新这个值并在缓存中覆盖它是否可以在 Apache Ignite 中

提前致谢

最佳答案

您可以在 Apache Ignite 中配置基于时间的过期策略急切的 TTL:Expiry Policies .这样,对象将在一定时间后从缓存中急切过期。

然后您可以订阅一个 javax.cache.event.CacheEntryExpiredListener,它会在每次过期后触发,并从该监听器更新缓存。但是,当条目已经从缓存中过期并且在您将值和更新值放入缓存之前,看起来会有一个小窗口。

如果您不能接受上述窗口,那么您可以简单地定期从缓存中查询所有条目,并更新所有早于特定过期时间的条目。在这种情况下,您必须确保所有条目都有一个时间戳字段,它将被索引并用于 SQL 查询。像这样:

SELECT * from SOME_TYPE where timestamp > 2;

更多关于 SQL 查询的信息:Distributed Queries , Local Queries .

关于ignite - 在 apache Ignite 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43497132/

相关文章:

amazon-web-services - AWS ElastiCache Redis-如何在群集重启时使用最新的每日备份(只有1个节点,没有多可用区)

django - 我们怎样才能使 Django 测试更快?

eclipse - 通过 Eclipse 部署 Web 应用程序时,是否可以在 server.xml 中维护 tomcat 配置?

hadoop - GriGain无法执行请求(连接失败)

in-memory-database - 什么是 Aerospike 中的命名空间

java - Apache 点燃: Possible to get a caches last read time

docker - 点燃Docker容器上的服务

java - Apache Ignite 方法 HibernateRegionFactory.start; V 是抽象的

java - 点火异常 : Spring XML configuration path is invalid