Redis的GetDatabase()方法是否缓存所有数据库表?

时间:2017-04-03 06:24:13

标签: c# caching redis

我使用以下Redis操作代码缓存了我的数据库:

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

我尝试调试和预览_cache的值,但它不显示缓存数据(表)。我想确认GetDatabase()方法缓存所有表。有没有办法预览所有Redis键或值?

1 个答案:

答案 0 :(得分:1)

简答:

不,Redis的GetDatabase()方法不会缓存所有数据库表

长答案:

按照StackExchange.Redis on Github

  

使用redis数据库

     

访问redis数据库非常简单:

IDatabase db = redis.GetDatabase();
     

从GetDatabase返回的对象是一个廉价的pass-thru对象,不需要存储。请注意,redis支持多个   数据库(虽然“集群”不支持);这可以   可选地在GetDatabase调用中指定。另外,如果你   计划使用异步API,你需要   Task.AsyncState有值,也可以指定:

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

拥有IDatabase后,只需使用redis API即可。请注意,所有方法都具有同步和异步   实现。符合微软的命名指导,   异步方法都结束了...异步(...),并且完全可以等待   等