2017-04-03 130 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(...),并且完全可以等待 等。

相关问题