求助关于xml序列化存储在磁盘上和存储在数据库中的区别

黑手党维多 2014-01-18 10:53:14
我正看一个dtcms系统 如下面的一段代码,将一个对象序列化写入文件,然后需要得到这个对象时从文件反序列化,我想问下,这中方法效率高还是怎么地,将一个对象实例化赋值后存储在数据库中不一样吗,然后用的时候再用datareader遍历也就是dr.read(),然后分别给对象.属性赋值,这样不也得到这个对象吗,可使这个系统得到配置文件用的序列化和反序列化,求各位高手相助

public static void Save(object obj, string filename)
{
FileStream fs = null;
// serialize it...
try
{
fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
XmlSerializer serializer = new XmlSerializer(obj.GetType());
serializer.Serialize(fs, obj);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (fs != null)
fs.Close();
}

}
...全文
144 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
黑手党维多 2014-01-19
  • 打赏
  • 举报
回复
引用 5 楼 landry1234 的回复:
呵呵 貌似用xml比较直观点,而且他有个缓存依赖,毕竟是站点信息到处都要用到,xml缓存依赖比数据库缓存灵活点,这个看情况,如果是多组数据肯定是数据库灵活,如果是单组数据二者皆可
分给你了,谢谢
黑手党维多 2014-01-19
  • 打赏
  • 举报
回复
引用 5 楼 landry1234 的回复:
呵呵 貌似用xml比较直观点,而且他有个缓存依赖,毕竟是站点信息到处都要用到,xml缓存依赖比数据库缓存灵活点,这个看情况,如果是多组数据肯定是数据库灵活,如果是单组数据二者皆可
我上面说的不太清楚,整个序列化没有用缓存依赖,但是反序列化后的对象被用作缓存的值,就是说他最后是用的依赖,也就是反序列化回来后,把反序列化后的对象作为cache的value插入到cache中,我以前看缓存文章,数据库中的表也可以作为缓存依赖项,但是像你说的,用这个序列化比较直观吧,省却数据库建表和查询的麻烦
黑手党维多 2014-01-19
  • 打赏
  • 举报
回复
引用 5 楼 landry1234 的回复:
呵呵 貌似用xml比较直观点,而且他有个缓存依赖,毕竟是站点信息到处都要用到,xml缓存依赖比数据库缓存灵活点,这个看情况,如果是多组数据肯定是数据库灵活,如果是单组数据二者皆可
这里他没有用到缓存依赖,缓存依赖不是在Cache中用么,然后创建一个依赖于文件或者xml文件的cachedependency对象,然后插入到缓存,文件修改,缓存就作废,可是这里是序列化,好像缓存依赖也可以依赖于数据库中的表的,然后表修改缓存作废,但从这个问题来说,好像序列化跟数据库建表比较,像你说的一个比较直观简单点,这样就不用在数据库建表进行复杂查询了,呵呵
黑手党维多 2014-01-18
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
不知道区别! 请问:将这样一个xml存储在文件中不是一样吗,存在数据库中并且动用什么DataReader之类的方法效率高还是怎么地? 最后请问:你是干什么事情非要变态地强调“只许用一种方法,不许第二种”吗?
呵呵,我擦,都变态了,当然允许用第二种方法,如果只允许用一种方法那就是一棵树上吊死啊,我好像意识到什么逐渐从牛角尖上下来了
  • 打赏
  • 举报
回复
不知道区别! 请问:将这样一个xml存储在文件中不是一样吗,存在数据库中并且动用什么DataReader之类的方法效率高还是怎么地? 最后请问:你是干什么事情非要变态地强调“只许用一种方法,不许第二种”吗?
黑手党维多 2014-01-18
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
反过来问一下自己。
老师,我就是不明白这两者的区别啊,我觉得存储在数据库中,如果数据库在本地,两者差不多啊,不过数据库操作麻烦点,然后如果数据库部署在别的地方那就差距大了,是这样吗
  • 打赏
  • 举报
回复
反过来问一下自己。
landry1234 2014-01-18
  • 打赏
  • 举报
回复
呵呵 貌似用xml比较直观点,而且他有个缓存依赖,毕竟是站点信息到处都要用到,xml缓存依赖比数据库缓存灵活点,这个看情况,如果是多组数据肯定是数据库灵活,如果是单组数据二者皆可

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧