创建 Redis 列表并设置键时,按照以下方式进行会导致错误。
获取以下错误:
结果消息:StackExchange.Redis.RedisServerException:ERR对保存了错误类型值的键执行操作。
public async Task MyMethod<T>()
{
//if i'm doing following it is working
string listname = "listname";
string listkey = "key";
RedisList<string> demodemo = new RedisList<string>(Settings, listname);
await demodemo.LeftPush(listkey);
//but i want to do it like below it is thoughing exception
RedisList<string> list = new RedisList<string>(Settings, typeof(T).Name.ToString());
string mykey = "myId";
await list.LeftPush(mykey);
获取以下错误:
结果消息:StackExchange.Redis.RedisServerException:ERR对保存了错误类型值的键执行操作。
https://github.com/neuecc/CloudStructures
使用它。typeof(T).Name.ToString()
只是类名,比如“Customer”,但是我想知道为什么我不能使用它?请指导一下...就像你在这里说的那样,foo是我的typeof(T).Name.ToString()
吗? - Neotypeof(T).Name
(.ToString()
是多余的);这不是问题所在。问题在于你的数据库中已经有了另一个名为“Customer”的东西。那么:当前的“Customer”是什么,为什么要尝试为不同的目的使用相同的键?注意:typeof(T).FullName
可能会有更少的冲突,"/arbitrary-prefix/" + typeof(T).Name
也可能会有更少的冲突。 - Marc Gravell