我正在寻找一个可以实现以下模式的c#对象缓存库:
我基本上需要处理更多的T对象,而不是保留在内存中,我希望在将结果保存到数据库之前使用缓存快速检索它们。
所以,我正在考虑使用Proxy模式,并让缓存存储代理对象可以获取/序列化我的真实对象。
你知道任何可以与这些模式一起使用的缓存c#库吗?我自己也找不到任何东西。
由于
答案 0 :(得分:0)
您正在寻找的是一个数据库。数据库引擎用于保持密钥表和对象表分离。 (如果您不熟悉该概念,请在Web上搜索有关数据库索引,主键等的信息。)还可以将密钥表的页面保存在RAM中,将最近使用的对象保存在RAM中。事实上,许多数据库引擎允许您配置每个RAM中保留的数量。我认为你应该使用带有轻量级ORM的Sqlite(如Dapper或ServiceStack.OrmLite或其他众多的一个)。 Sqlite有一个参数来关闭磁盘同步性和另外两个参数来调整RAM中的数据量。请参阅此处的信息:http://www.sqlite.org/pragma.html