对某一个查询频繁重复,应该使用缓存。
缓存应该是可以配置。
Web.config:
<configuration> <configSections> <section name="MyOql" type="MyOql.MyOqlConfigSect,MyOql" /> </configSections> <MyOql configSource="MyOql.config" /> </configuration>
MyOql.config:
<MyOql> <Entitys db="dbo" CacheTime="0" CacheSqlTime="0" MaxCacheTime="43200" OraclePKG="PKG" Owner="dbo" > <Group Name="本地缓存" CacheType="Local" CacheSqlTime="3600" CacheTime="3600" > <Entity Name="S_Menu" UsePower="=" /> <Entity Name="P_CarInfo" /> </Group> </Entitys> <DbProviders> <Provider Name="SqlServer" Type="MyOql.Provider.SqlServer,MyOql"/> <Provider Name="MySql" Type="MyOql.Provider.MySql,MyOql.MySql"/> <Provider Name="Oracle" Type="MyOql.Provider.Oracle,MyOql.OracleProvider"/> </DbProviders> </MyOql>
配置项:
db: 指定数据库配置项
Owner: 指定数据库前缀
Name: 数据库表名,视图名,存储过程名。
CacheTime: 单表按主键、唯一键、自增键查询缓存时间。单位 秒
CacheSqlTime: 按除 CacheTime 之外的情况下,缓存时间。如果有多个表,按配置项最小的缓存时间。 单位 秒
ToShadow: 配置是否转存到影子库,当物理删除的时候,可以把数据转存到影子库。布尔值
MaxCacheTime: 如果最初缓存时间到现在超过最大缓存时间,则强制失效。单位 秒
CacheType: 指定缓存服务器。
UsePower: 权限类型,单字符表示一个权限,可选类型: CRUD= ~*
其中:
C 表示 Create,R 表示Read,U表示Update,D表示Delete。
= 表示是否启用行集权限.
~ 表示自定义过滤。
* 是所有权限
true 表示所有权限
false 表示没有任何权限
Filter: 在 UsePower = "~" 时, Filter 表示传递给自定义过滤的 关键字
Type: 表示表的类型, 如: Corp 表示是公司表。可以动态对该表进行分库。
Log: 可选值,单个字符表示一个MyOql操作类型的日志, CRUD=*
OraclePKG: Oracle存储过程包名。
数据库中的数据,可以分为:
如果有多个应用:
原文:http://www.cnblogs.com/newsea/p/4531935.html