今天用C# 連接Redis做性能測試,用的接口是StackExchange.Redis,按照正常的思路獲取數據庫連接,代碼如下:
1 string conn = "我的ip:6379,password=登錄密碼"; 2 3 ConnectionMultiplexer client = ConnectionMultiplexer.Connect(conn); 4 5 IDatabase db = client.GetDatabase(2);
然后就向里邊添加數據,類似的代碼如下:
1 RedisKey key ="1"; 2 3 RedisValue value = "...."; 4 5 this.db.SetAdd(key, value);
弄完以后用Redis-cli連接Redis,命令是:
redis-cli -h 192.168.1.XXX -p 6379 -a 登錄密碼
登錄成功以后用get的方式獲取如:get 1,發現報錯:WRONGTYPE Operation against a key holding the wrong kind of value,到網上看看有說值重復的說啥的都有,后來檢查代碼發現我添加數據的時候用的是this.db.SetAdd(key, value);這句的意思是向集合中添加代碼的,后來修改成 this.db.StringSet(key, value);就一切正常了
本來就是一個非常基礎的問題查啊查,還以為是key值或value值出現特殊字符造成的呢,查了半天,如果以后有兄弟遇到像我一樣的問題不妨去看看你的類型是不是有問題,對了當時用get的時候報錯,用smembers 1 都能出來值已經很明顯那個是一個集合了,新手兄弟們一起吸取教訓啊,老鳥們別嫌我說話煩啊,這個不是給老手看的