【发布时间】:2015-04-24 15:11:38
【问题描述】:
我遇到了一些问题,我认为这可能是 StackExchange.Redis 库中的错误。
当我创建键为 GUID 的哈希时,.HashGet 或 HashGetAsync 都将返回 null 值,而当我尝试使用 redis-cli 获取相同的哈希键时,我能够检索哈希值成功。
【问题讨论】:
-
您有确切的代码示例吗?没有从
Guid到RedisKey的隐式转换,所以我很好奇这是通过string还是byte[],无论哪种方式:你是如何做到的。我还想知道您是否可以在单独的 redis-cli 实例上运行MONITOR以查看这两种方法正在发布什么。 -
@MarcGravell 这是字符串。我将直接尝试
RedisKey,看看会发生什么 -
我的第一个猜测是:格式化;大写、间距、连字符等
-
@MarcGravell Uhm 使用 Guid.ToString 或 Guid.ToByteArray 会导致 null。代码是这样的:
db.HashGetAsync(string.Format("whatever:licensing:products:{0}:features:{1}:all", productId, featureId), id.ToByteArray()) -
@MarcGravell 实际上我正在将
string.format的结果“快速观看”的关键复制粘贴到redis-cli,这样我就可以获得哈希值
标签: c# .net redis .net-4.5 stackexchange.redis