Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# StackExchange.Redis SetAdd(key,val)崩溃,key=GUID_C#_.net_Redis_Stackexchange.redis - Fatal编程技术网

C# StackExchange.Redis SetAdd(key,val)崩溃,key=GUID

C# StackExchange.Redis SetAdd(key,val)崩溃,key=GUID,c#,.net,redis,stackexchange.redis,C#,.net,Redis,Stackexchange.redis,非常恼人的StackExchange.Redis崩溃SetAdd(key,val) 我想设置一个以程序GUID为键的集合 我发现(调试3小时后)SetAdd(key,val)在某些GUID下工作,但在其他GUID下崩溃: string key = "02639d71-0935-35e8-9d1b-9dd1a2a34629"; const string val = "somevalue"; db.SetAdd(key, val); // <=

非常恼人的StackExchange.Redis崩溃
SetAdd(key,val)

我想设置一个以程序GUID为键的集合

我发现(调试3小时后)
SetAdd(key,val)
在某些GUID下工作,但在其他GUID下崩溃:

        string key = "02639d71-0935-35e8-9d1b-9dd1a2a34629";
        const string val = "somevalue";

        db.SetAdd(key, val); // <=== Works

        key = "02639d71-0935-35e8-9d1b-9dd1a2a34627";
        db.SetAdd(key, val); // <=== CRASH @@!!@!@!
StackExchange.Redis中的崩溃点

我在LINQPad中测试了这段代码。它在同一个地方坠毁。第一个GUID工作,第二个不工作

这不是由于启动应用程序GUID导致的崩溃

使用不同的guid进行更多的测试。只有以“7”结尾的崩溃

    key = "02639d71-0935-35e8-9d1b-9dd1a2a34622";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34623";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34624";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34625";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34626";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34627"; // <= crashes
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34628";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34629";
key=“02639d71-0935-35e8-9d1b-9dd1a2a34622”;
key=“02639d71-0935-35e8-9d1b-9dd1a2a34623”;
key=“02639d71-0935-35e8-9d1b-9dd1a2a34624”;
key=“02639d71-0935-35e8-9d1b-9dd1a2a34625”;
key=“02639d71-0935-35e8-9d1b-9dd1a2a34626”;

key=“02639d71-0935-35e8-9d1b-9dd1a2a34627”// Redis键是不透明的。这一信息:

针对持有错误类型值的键的错误类型操作

简单地说,您以前在该键中存储的数据类型不是“集合”。尝试(在redis cli中):


这将告诉您现有数据的数据类型。如果密钥不存在,或者密钥存在且是一个集合,则只能使用
SADD
。它崩溃是因为我以前用该键存储了一个字符串。谁写这些错误消息?为什么消息不是“数据库已经包含具有该键的其他元素。请使用其他键!”。。多谢各位+1@Miroslav“这些错误消息是谁写的?”这是来自服务器的逐字错误,所以可能是Salvatore Sanfilippo:)我知道。:)我从1986年开始编程,但我被这个例外误导了(有3天的Redis经验)。我从
StackExchange.Redis
的角度搜索了密钥类型的错误。可怜的我:)
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34622";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34623";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34624";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34625";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34626";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34627"; // <= crashes
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34628";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34629";
TYPE "02639d71-0935-35e8-9d1b-9dd1a2a34627"