asp.net – 我们应该使用什么序列化格式在SQL Server数据库中存
我们正在开发一个定制的缓存解决方案,它将使用SQL Server数据库来存储缓存的对象.应用程序的托管环境不提供“内存中”缓存,例如memcached或app fabric,因此我们必须使用SQL Server数据库.
虽然大多数缓存对象都是简单类型(int,string,date等),但我们还需要存储更复杂的类型,如DataSet,DataTables,泛型集合和自定义类. 我对.NET的本机序列化和反序列化的经验很少,但我想我们必须将对象序列化为某种形式(二进制,xml,JSON等)以将其存储在数据库中,然后在我们将其取出时将其反序列化的数据库.我想对“某种形式”应该是什么有一些专家意见. 我们正在使用JSON.NET将数据序列化为JSON以用于各种AJAX请求.我最初的想法是将缓存的数据序列化为JSON以将其存储在数据库中.但是,我想就性能和数据完整性最佳方面提出一些意见. 解决方法
您提到的所有三个序列化选项(二进制,json或XML)都是序列化格式的有效选择.有
many other serialization formats但你提到的三个是最常见的.至于在三者之间进行选择,以下是一些注意事项:
>如果您将数据以二进制格式存储在数据库中,那么如果您想通过使用Sql Server Management Studio或文本编辑器查看数据,那么它就不是人类可读的.如果要手动浏览数据,则必须编写某种反序列化工具. 因此,您的选择取决于哪些因素对您最重要:CPU利用率,磁盘存储空间,人类可读性和/或个人偏好. 我们已经广泛使用json来序列化我们的对象以便在数据库中存储,使用JSON.Net并且我们非常喜欢它.有时通过SSMS手动查看数据很方便,json比XML更紧凑. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用响应流的MVC控制器
- ASP.NET和Web Tools 2012.2引用LESS文件
- asp.net – RenderBody()和RenderSection()必须在每个子版面
- ABP(现代ASP.NET样板开发框架)系列之二、ABP入门教程详解
- asp.net – 多租户,或不是多租户
- asp.net-mvc-3 – DbContext使用Ninject的InRequestScope()
- asp.net – 如何使用占位符属性与Html.EditorFor?
- 在.NET Core中使用简单的插件化机制
- asp.net-mvc – 如何使用图像呈现动作链接?
- asp.net – “无法启动IIS Express Web服务器”错误
- asp.net – 您如何看待Postgres和Firebird数据库
- 从ASP.NET MVC 2中排除授权操作
- asp.net-mvc – 返回空ActionResult
- asp.net-mvc-3 – 任何好的样品开始使用Dapper?
- asp.net-mvc – ASP.NET MVC的示例企业应用程序?
- 在ASP.NET MVC中如何应用多个相同类型的Validati
- asp.net-mvc – 当model是父模型上的属性且为nul
- asp.net – 在服务器端级别渲染javascript.好主意
- 在Asp.Net Core中使用TempData时无法重定向到操作
- 学习Asp.Net WebForms或Asp.Net MVC