C#使用ServiceStack读写Redis
通过C#第三方库向Redis存储数据遇到的几个问题
https://github.com/ServiceStack/ServiceStack.Redis
1、将对象转json字符串
JsonObject jsonObject=new JsonObject(); jsonObject.Add("aa","年后"); jsonObject.Add("bb","12132"); string str=jsonObject.ToJson(); RedisCacheHelper.Add<object>("test", str, DateTime.Now.AddDays(1)); var v= RedisCacheHelper.Get<object>("test");
不仅多了一个反斜杠,中文还被编码,如果写之前加上UrlEncode,读出时候使用UrlDecode则正常显示。
例如:
string str =" [\"aaa\",\"bbb\"]"; str= System.Web.HttpUtility.UrlEncode(str); RedisCacheHelper.Add<string>("aa",str,new TimeSpan(1,0,0,0)); string strRet= RedisCacheHelper.Get<string>("aa"); strRet= System.Web.HttpUtility.UrlDecode(strRet);
2、直接使用对象
可以用以下方法,直接传对象
List<string> list=new List<string>(); list.Add("adfa"); list.Add("bbb"); RedisCacheHelper.Add<object>("test", list, DateTime.Now.AddDays(1) List < string > list1= RedisCacheHelper.Get<List<string>>("test");//默认传出来的是JArray
3、推荐一个好用的Redis工具
https://github.com/uglide/RedisDesktopManager
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。