c# - 如何从 C# 中的 Redis 缓存中获取所有键值?
问题描述
我有 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
方法来获取所有密钥,记住您需要传入allowAdmin=true"
该Connect
方法。
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));
}
}
推荐阅读
- c# - 在运行时将游戏对象捕捉到 Unity 3D 中的另一个游戏对象
- if-statement - Netlogo:嵌套的 if/ifelse 语句
- html - SVG 圆形笔划有一个奇怪的结局?如何平均分布笔划破折号?
- mysql - 如何在sql中的查询之间添加一个月的第一天和最后一天?
- c# - Control.Location.X in dynamic controls.?
- groovy - 如何根据使用 groovy 的条件从列表数组中删除列表?
- haskell - 处理递归和类型时如何减少代码重复
- linux - TcpStream 上的 std::io::BufReader 会导致数据丢失吗?
- python - TypeError:一元操作数类型错误-:str,如何编辑输入
- javascript - 可枚举属性和自有属性之间有什么区别吗?