获取所有Redis数据库的所有键和值?

Mic*_*ael 5 c# caching redis stackexchange.redis

我正在使用StackExchange.Redis使用多个数据库在Redis缓存中存储和检索项目。

但是,我无法弄清楚如何在所有数据库中检索键/值。以下代码从默认数据库0中检索密钥,而我找不到如何更改它以从每个数据库中检索密钥

    public IEnumerable<KeyValuePair<string, object>> GetAll()
    {
        var result = new List<KeyValuePair<string, object>>();
        var endpoints = _dataCache.Multiplexer.GetEndPoints();
        var server = _dataCache.Multiplexer.GetServer(endpoints.First());

        var keys = server.Keys();
        foreach (var key in keys)
        {
            Console.WriteLine(key.ToString());
        }
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

有什么建议么?

Mic*_*ael 6

看来我找到了答案 - 需要将数据库名称传递给实际的 .Keys,如下所示

var keys = server.Keys(_dataCache.Database);
Run Code Online (Sandbox Code Playgroud)