问题描述
我在rdms和csv文件中有一些持久性数据(它们是独立的对象,但我想提一下,因为它们位于不同的介质中,我无法使用rdbms提供的功能,实际上我不想去数据库旅行在接下来的一个小时内,即使数据变旧了)。 我需要将数据存储在内存中,以提高性能并基于对象的多个列查询 (仅读取,无其他操作)对象,并每小时刷新一次数据。
就我而言,除了实现自己的对象存储和查询方法以外,还有什么是存储和查询内存对象的好方法? 例如,您能否提供一个示例/链接来将sql查询替换为
select * from employees where emplid like '%input%' or surname like '%input%' or email like '%input%';
很抱歉虚拟查询,但它说明了哪种查询是可能的。
1楼
随便找到具有所需功能的密钥库实现。 使用查询字符串作为关键字,并使用结果作为值。 具有相当多的功能,包括记录超时(例如一个小时)。
对于我自己的工作,我使用一个LRU密钥存储库(限于X个条目),其中包含带有超时信息的对象,并且在使用该记录之前,我会手动确定该记录是否陈旧。 LRU基本上是一个链接列表,当添加的记录超过最大所需大小时,它会将“已读”记录移到列表的开头,而将尾部删除。 这样可以使商店中的热门记录保存更长的时间。