2017-04-03 135 views
0

我一直在使用下面的代碼Redis的操作緩存我的數據庫:Do Redis的GetDatabase()方法是否緩存所有數據庫表?

public bool InitialiseCache() 
    { 
     try 
     { 
      _cache = Connection.GetDatabase();     
      return true; 
     } 
     catch (Exception ex) 
     { 
      return false; 
     } 
    } 

我試過的_cache調試和預覽值,但它並沒有顯示緩存的數據(表)。我想確認GetDatabase()方法緩存所有表。有沒有什麼方法可以預覽所有的Redis鍵或值?

回答

1

答案很簡單:

StackExchange.Redis on Github

不緩存所有的數據庫表

長的答案

沒有,Redis的的GetDatabase()方法

使用Redis的數據庫

訪問一個數據庫Redis的很簡單,只要:

IDatabase db = redis.GetDatabase(); 

從GetDatabase返回的對象是一個廉價的直通對象,並不需要存儲。請注意,redis支持多個 數據庫(儘管這在「羣集」上不受支持);這可以是 (可選)在調用GetDatabase時指定。此外,如果您 計劃利用異步API的,你需要 Task.AsyncState有一個值,這也可以規定:

int databaseNumber = ... 
object asyncState = ... 
IDatabase db = redis.GetDatabase(databaseNumber, asyncState); 

一旦你的了IDatabase,它是簡單地使用的情況下, redis API。請注意,所有方法都有同步和異步 實現。根據微軟的命名指導,異步方法全部結束... Async(...),並且完全可以等待 等。

相關問題