我在使用阿里云的redis数据库,但是我在存储 一个自定义的类,且类里包含一个DataTable类型的字段时,发现该自定义类别的基础数据类型
例如字符串等等都可以正常存储,唯有几个DataTable类型的字段是空的。
我也尝试过将类 转为二进制数据流,但是我这个类里还有个sqlserver连接器,C#表示该连接器的类不是一个可以初始化的类
我想将我的自定义类 或者说是 对象 完整的存到Redis中,并且还能取出使用。
不能。你得接受Redis 将所有内容都存储为字符串的事实(毕竟协议是基于文本的)。Redis 可能会执行一些优化并将一些值转换为整数,但这是它的事情,而不是你的事情。
如果要在 Redis 中存储任意对象,请确保在保存之前对其进行序列化,并在检索后对其进行反序列化。
虽然redis是支持进行对象存储,比如把对象进行序列化后存储到redis中,但不是必要,不建议这么存。把关键信息过滤出来,存到redis即可。
你题干都说了里面有些不可序列化的数据,你可以把它转换为json再入库,还原后你再把那些无法序列化的值塞进去,一般redis只用来存基本类型,或者嵌套的基本类型,可以用StackExchange.Redis
不能
你看看是否可以借助redis三种存储对象的方式实现目的
1、序列化操作,获取jedis实例
2、使用fastjson将对象转为json字符串后存储
3、使用Hash数据类型
参考链接:https://blog.csdn.net/u014756827/article/details/88830973