对于数据缓存依赖的认识
最近对asp.net 2.0中提供的数据缓存依赖进行了一番研究,并且有些问题需要与您探讨。
(1)很多资料总是在说什么“SQL Cache Invalidation”,但是在我看来,SQL Cache Invalidation的全部就是数据库依赖缓存,其实现的核心是SqlCacheDependency。不知道这种想法对吗?是不是SQL Cache Invalidation中除了包含数据库缓存依赖,还包括些其他的什么东西呢?
(2)数据库依赖缓存是针对SQL Server 7/2000/MSDE/2005而设计的。其实现的步骤是先要进行命令行配置,也就是用aspnet_regsql,然后是对web.config文件的节配置。最后是具体的应用。那么是不是这些配置实现工作,都是在对SQL Server 7/2000/MSDE/时才使用;而对于SQL Server 2005就不需要这些具体的配置(前两步)工作,而直接进行数据库缓存依赖的应用呢?
(3)数据库缓存依赖是不是只能针对普通的SQL语句才有效,而对于存储过程等引起的数据变化就无效呢?还是在SQL Server 7/2000/MSDE中则只能对普通SQL语句有效,而到了SQL Server 2005的时候就可以应用存储过程时也有效呢?
(4)在对SQL Server 7/2000/MSDE的数据库缓存依赖的实现中,使用的是一些触发器、数据表等进行定时的查询,以便发现是否数据发生了变化。那么在SQL Server 2005中是如何实现的呢?
(1)很多资料总是在说什么“SQL Cache Invalidation”,但是在我看来,SQL Cache Invalidation的全部就是数据库依赖缓存,其实现的核心是SqlCacheDependency。不知道这种想法对吗?是不是SQL Cache Invalidation中除了包含数据库缓存依赖,还包括些其他的什么东西呢?
(2)数据库依赖缓存是针对SQL Server 7/2000/MSDE/2005而设计的。其实现的步骤是先要进行命令行配置,也就是用aspnet_regsql,然后是对web.config文件的节配置。最后是具体的应用。那么是不是这些配置实现工作,都是在对SQL Server 7/2000/MSDE/时才使用;而对于SQL Server 2005就不需要这些具体的配置(前两步)工作,而直接进行数据库缓存依赖的应用呢?
(3)数据库缓存依赖是不是只能针对普通的SQL语句才有效,而对于存储过程等引起的数据变化就无效呢?还是在SQL Server 7/2000/MSDE中则只能对普通SQL语句有效,而到了SQL Server 2005的时候就可以应用存储过程时也有效呢?
(4)在对SQL Server 7/2000/MSDE的数据库缓存依赖的实现中,使用的是一些触发器、数据表等进行定时的查询,以便发现是否数据发生了变化。那么在SQL Server 2005中是如何实现的呢?