GemFire:CacheLoader:从外部数据库获取数据

时间:2016-01-28 10:52:26

标签: gemfire geode

cacheloader:用例

使用GemFire的主要用例之一是,它用作保存最新数据的快速运行缓存(例如最近1个月),所有剩余数据都位于后端数据库中。我的意思是1个月后的Gemfire数据在1个月后溢出到数据库。 但是,当用户查找超过1个月的数据时,我们需要转到数据库并获取数据。 缓存加载器适用于对缓存未命中执行此操作并从数据库获取数据。关于缓存加载器,只有当我们对密钥执行Get操作并且密钥丢失时,才会触发缓存未命中。

我不明白的是,当数据溢出到后端时,我认为Gemfire中没有引用。用户可能也不知道Key - 要对Key执行get操作,他可能需要在除key之外的其他一些字段上执行OQL查询。 当我不知道密钥时,如何触发缓存未命中?

然后,Cache loader如何适应整体解决方案?

1 个答案:

答案 0 :(得分:0)

在Query操作期间,Geode不会调用CacheLoader。

来自Geode documentation

  

在get操作期间缓存未命中时调用加载程序,除了将值返回给调用线程外,它还使用新的条目值填充缓存。

(重点是我自己的)