繁体   English   中英

如何从 C# 中的 Redis 缓存中获取所有键值?

[英]How to get all the keys values from Redis Cache in C#?

我有 redis 缓存,我在其中设置了几个键,现在我需要获取所有键及其值。 似乎没有直接的方法可以得到这个。

我只能看到以键为参数的StringGet(string key)方法。 但是没有方法可以用于所有键

编辑:

我已经绑定了下面的代码,但它在第 3 行给出了例外。

ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");
IDatabase db = redis.GetDatabase();

var keys = redis.GetServer("localhost").Keys();

string[] keysArr = keys.Select(key => (string)key).ToArray();

foreach (string key in keysArr)
{
    Console.Write(db.StringGet(key));
}

例外:

未定义指定的端点

你可以调用Keys方法来获取所有的key,记住你需要在Connect方法中传入allowAdmin=true"

using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost:6379,allowAdmin=true"))
        {
            IDatabase db = redis.GetDatabase();

            var keys = redis.GetServer("localhost", 6379).Keys();

            string[] keysArr = keys.Select(key => (string)key).ToArray();

            foreach (string key in keysArr)
            {
                Console.WriteLine(db.StringGet(key));
            }
        }

你可以试试这个方法

IServer server = Connection.GetServer("yourcache.redis.cache.windows....", 6380);
foreach (var key in server.Keys())
{
   Console.WriteLine(key);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM