2013-11-25 66 views
0

我有一個需求,我需要緩存具有3列(ID,STRING,STRING)的數據庫表並根據C#中的id查詢它。我搜索了很多堆棧溢出的文章,但找不到解決這個問題的文章。緩存數據並查詢它

回答

0

我建議您使用Lucene索引引擎來緩存和查詢數據。看一看:Lucene .NET Wrapper Reference

[編輯]

它真的很容易使用和作品真的很快:)的測試和認定:)順便說一句。一些脂肪酶使用SQLite來緩存數據和查詢它們(快速和使用本地驅動器來存儲數據)

1

創建實體類:您可以創建一個類這三個領域

創建緩存類:該類會有一個實體類(存儲庫)的集合,並將其存儲在第一個請求的會話中,對於所有後續請求,檢查存儲庫是否有值,然後從存儲庫返回,否則從數據庫加載存儲庫並返回。

讓我知道你是否需要樣本結構。

private class MyEntity 
{ 
    public int ID {get;set;} 
    public String String1 {get;set;} 
    public String String2 {get;set;} 
} 

public class Repository 
{ 
    List<MyEntity> myEntityCollection{get;set;} 
    List<MyEntity> MyEntityCollection 
    { 
     get 
     { 
      if (myEntityCollection == null) { LoadAndFillMyEntityCollectionFromDatabase(); } 
      return myEntityCollection; 
     } 
    } 

    public MyEntity GetMyEntity(int id) 
    { 
     return MyEntityCollection.FirstOrDefault(x=>x.ID == id); 
    } 
} 

在這裏是一個示例類結構,其中LoadAndFillMyEntityCollectionFromDatabase是從數據庫加載myEntityCollection集合的方法。

我把它寫在這裏,如果不編譯,你可能需要做一些小的改動。

+0

謝謝伊姆蘭,如果您可以發送樣本結構 – rampuriyaaa