2016-07-25 46 views
1

我是Ignite的初学者,所以我有一些难题,其中之一如下:当我尝试查询缓存时,是否可以查看内存是否包含。如果不是,那么是否会查询数据库?如果没有,如何实现这种方式? 请帮助我,如果你知道.Thx。通过Ignite CacheStore或通过数据库进行查询

回答

3

查询仅处理内存数据。您可以使用密钥访问(如get(),getAll()等操作),并利用持久性存储中的自动读取,或者在运行查询之前手动预先加载数据。有关如何有效地将大数据集加载到缓存中的信息,请参阅此页:https://apacheignite.readme.io/docs/data-loading

+0

Thx,Valentin.I已将通读设置为true,但它似乎未应用。为什么? –

+0

实际上,我的意思是说,如果我的缓存存储了某个人的身份证号小于5,现在我想查询一些身份证号小于6的人,但正如您所见,缓存不会保存身份证号为5!那么Ignite是否会自动从数据库中获得No.5?如果没有,如何获得第5人? –

+0

查询不支持通读,因为要从数据库自动加载,您需要知道运行查询时不知道的一组密钥(只知道一些标准,例如id <6)。话虽如此,在运行查询之前,您需要确保所有需要的数据都在缓存中。另一方面,如果您对此ID执行'get()'操作,则会自动从数据库加载条目。 –