我在rdms和csv文件中有一些持久性数据(它们是独立的对象,但是我想提一下它们,因为它们位于不同的介质中, 我无法使用rdbms所提供的功能,实际上我不想在下一个小时就去数据库,即使数据变旧了也是如此。我需要将数据存储在内存中以提高性能,并根据对象的多列查询(仅读取,无其他操作),并每小时刷新一次数据。
就我而言,除了实现自己的对象存储和查询方法以外,还有什么是存储和查询内存中对象的好方法?例如,您能否提供一个示例/链接将sql查询替换为
public class ExpandableEditor : Editor
{
public ExpandableEditor()
{
TextChanged += OnTextChanged;
}
~ExpandableEditor()
{
TextChanged -= OnTextChanged;
}
private void OnTextChanged(object sender, TextChangedEventArgs e)
{
InvalidateMeasure();
}
}
对于虚拟查询很抱歉,但它说明了可能的查询类型。
答案 0 :(得分:0)
找到具有所需功能的密钥库实现。使用查询字符串作为关键字,并使用结果作为值。 https://github.com/ben-manes/caffeine具有很多功能,包括记录超时(例如一个小时)。
对于我自己的工作,我使用包含超时信息的对象的LRU密钥存储库(限于X项),并且在使用之前手动确定记录是否陈旧。 LRU基本上是一个链接列表,当添加的记录超过最大所需大小时,它会将“已读”记录移到列表的开头,而将尾部删除。这样可以使商店中的热门记录保存更长的时间。