我有以下设置:
Realtime_data_source --> EhCache_instance --> web_server --> websocket_clients
每次用户连接时,我都会将 CacheEventListener 注册到缓存中。因此,在新数据到达时,会相应地处理更新。但是,如果用户在中午连接,我希望他首先接收初始数据快照,然后更新。您能否建议我如何配置 CacheEventListener 以支持初始数据图像?
我使用 ResourcePoolsBuilder 设置缓存来存储数千个条目。
最佳答案
从问题的扩展描述来看,我不认为Ehcache是你应该使用的。
根据 ResourcePoolsBuilder
的使用情况,我假设您使用的是 3.x 版本。提醒一下,缓存可以在任何时间点删除数据。因此,虽然您可能会看到所有数据到达,但无法保证完整的快照,因为缓存可能已逐出内容。
除了迭代缓存(强烈建议不要这么做)之外,不支持获取所有数据的快照。更重要的是,对于像堆外和磁盘这样的层,缓存可能包含在给定时间甚至不适合堆的数据集。
关于java - 如何从EhCache获取初始数据快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39535302/