我有一个WEB API(VS 2013)项目,它在缓存(HTTPRuntime.Cache)中检索13百万行。C#内存缓存发现数据有1300万行
的内存对象伯爵说,在缓存对象13M行,但是当我发出命令
cacheObj.OrderByDescending(o => o.ID).Where(w => w.ID == 1111111).Select(s => s).ToList();
则返回0数据。我检查了Oracle数据库并显示记录。此外,如果我尝试找到另一个ID(例如1234567
),我会收回有效数据。我有一种感觉缓存它可能是缓存大小。
任何线索可能发生了什么?谢谢
你需要为此发布一些代码。您如何以及为什么确定特定的ID应该在缓存中? –
你有什么理由说在框架中有什么不起作用,而不是在你的应用程序或逻辑中起作用?不是说它会改变结果,但你为什么要订购13M行,那么过滤器?你为什么选择(s => s)?如果你做cacheObj.Count(),结果如何? 13M? – Tipx
为什么不只是'cacheObj.FirstOrDefault(x => x.w.ID == 1111111).ToList()'? –