【发布时间】:2013-02-23 18:26:16
【问题描述】:
我们正在开发一种定制的缓存解决方案,该解决方案将使用 SQL Server 数据库来存储缓存对象。应用程序的托管环境不提供“内存中”缓存,例如 memcached 或应用程序结构,因此我们必须使用 SQL Server 数据库。
虽然大多数缓存对象都是简单类型(int、字符串、日期等),但我们还需要存储更复杂的类型,例如DataSets、DataTables、泛型集合和自定义类。
我对 .NET 的本机序列化和反序列化经验很少,但我认为我们必须将对象序列化为某种形式(二进制、xml、JSON 等)以将其存储在数据库中,然后在我们进行反序列化时将其反序列化。将其从数据库中拉出。我想对“某种形式”应该是什么有一些专家意见。
我们正在使用 JSON.NET 将数据序列化为 JSON 以用于各种 AJAX 请求。我最初的想法是将缓存的数据序列化为 JSON 以将其存储在数据库中。但是,我想就性能和数据完整性最好的方法获得一些意见。
【问题讨论】:
-
ASP.NET 有built-in caching support。你试过吗?
-
@Andomar - 站点所在的托管环境使用循环类型的配置进行负载平衡,并且主机不支持 AppFabric 或提供任何类型的内存缓存。在充分利用我们所拥有的东西方面,情况或多或少是开发人员与托管环境相比。
标签: asp.net sql-server caching serialization