首页 新闻 会员 周边 捐助

ASP.NET MVC 使用redis和MemoryCache缓存遇到两个问题求解

0
悬赏园豆:50 [已解决问题] 解决于 2016-09-05 14:37

1.当我使用MemoryCache去存储数据的时候,代码如下:

第一次请求的时候是可以把数据存到缓存中的:

第二次再请求的时候,也是去通过找打的key来取数据的:

但是数据库又查询过一次,这次应该不会去 数据中查询了,才对呀

第二个问题是我通过redis来缓存数据:第一次也是可以存储数据的:

我在存数据的时候对数据做了序列化和反序列化操作:

但是在获取数据的时候就会无法反序列化报错了:

 

求教有人知道这个是什么问题吗?

坚持的阳光的主页 坚持的阳光 | 初学一级 | 园豆:86
提问于:2016-08-14 16:23
< >
分享
最佳答案
1

确切的说,应该是你的反序列化的类型不对。

反序列化必须传递的是非接口的可以实例化类型。抽象类都不行

收获园豆:20
| 小虾三级 |园豆:780 | 2016-08-14 22:07
其他回答(3)
0

1.下个redis带ui的客户端.搜redis管理器.看下key是否正常被写入了.

2..net的序列化本来就问题一大堆.最简单的办法是用json序列化.存json字符串到redis中.

收获园豆:10
吴瑞祥 | 园豆:29449 (高人七级) | 2016-08-14 22:55

如果.net的序列化问题都一大堆,那么,java php什么的,就更不用搞了

支持(0) 反对(0) LoveCoder | 园豆:218 (菜鸟二级) | 2016-08-15 13:10
0

数据打印出来看看是否与序列化对象一致

收获园豆:10
拾梦小侠ด้้้ | 园豆:713 (小虾三级) | 2016-08-15 09:05
0

反序列化错误类型不对又或者数据不对,建议打印出来对比一下

收获园豆:10
Mask1 | 园豆:113 (初学一级) | 2016-08-15 14:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册