This commit is contained in:
sunkaixuan 2017-10-11 14:17:30 +08:00
parent e0f0b3d69e
commit e090fee6de

View File

@ -11,28 +11,36 @@ namespace ExtensionsDemo
public class CacheDemo public class CacheDemo
{ {
public static void Init() public static void Init()
{
HttpRuntimeCache();
//RedisCache();
}
private static void HttpRuntimeCache()
{ {
ICacheService myCache = new HttpRuntimeCache();//ICacheService ICacheService myCache = new HttpRuntimeCache();//ICacheService
SqlSugarClient db = new SqlSugarClient( new ConnectionConfig(){ SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
ConnectionString = Config.ConnectionString, {
DbType = DbType.SqlServer, ConnectionString = Config.ConnectionString,
IsAutoCloseConnection = true, DbType = DbType.SqlServer,
ConfigureExternalServices = new ConfigureExternalServices() IsAutoCloseConnection = true,
{ ConfigureExternalServices = new ConfigureExternalServices()
DataInfoCacheService = myCache //Setting external cache service {
} DataInfoCacheService = myCache //Setting external cache service
}); }
});
for (int i = 0; i < 10000; i++) for (int i = 0; i < 10000; i++)
{ {
db.Queryable<Student>().Where(it => it.Id > 0).WithCache().ToList(); db.Queryable<Student>().Where(it => it.Id > 0).WithCache().ToList();
} }
db.Queryable<Student, Student>((s1, s2) => s1.Id == s2.Id).Select(s1=>s1).WithCache().ToList(); db.Queryable<Student, Student>((s1, s2) => s1.Id == s2.Id).Select(s1 => s1).WithCache().ToList();
db.Queryable<Student, Student>((s1, s2) => new object[] { db.Queryable<Student, Student>((s1, s2) => new object[] {
@ -40,19 +48,60 @@ namespace ExtensionsDemo
}).Select(s1 => s1).WithCache().ToList(); }).Select(s1 => s1).WithCache().ToList();
Console.WriteLine("Cache Key Count:"+myCache.GetAllKey<string>().Count()); Console.WriteLine("Cache Key Count:" + myCache.GetAllKey<string>().Count());
foreach (var item in myCache.GetAllKey<string>()) foreach (var item in myCache.GetAllKey<string>())
{ {
Console.WriteLine(); Console.WriteLine();
Console.WriteLine(item); Console.WriteLine(item);
Console.WriteLine(); Console.WriteLine();
} }
db.Deleteable<Student>().Where(it => it.Id == 1).RemoveDataCache().ExecuteCommand();
Console.WriteLine("Cache Key Count:" + myCache.GetAllKey<string>().Count());
}
private static void RedisCache()
{
ICacheService myCache = new RedisCache("localhost");//ICacheService
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = Config.ConnectionString,
DbType = DbType.SqlServer,
IsAutoCloseConnection = true,
ConfigureExternalServices = new ConfigureExternalServices()
{
DataInfoCacheService = myCache //Setting external cache service
}
});
for (int i = 0; i < 10000; i++)
{
db.Queryable<Student>().Where(it => it.Id > 0).WithCache().ToList();
}
db.Queryable<Student, Student>((s1, s2) => s1.Id == s2.Id).Select(s1 => s1).WithCache().ToList();
db.Queryable<Student, Student>((s1, s2) => new object[] {
JoinType.Left,s1.Id==s2.Id
}).Select(s1 => s1).WithCache().ToList();
Console.WriteLine("Cache Key Count:" + myCache.GetAllKey<string>().Count());
foreach (var item in myCache.GetAllKey<string>())
{
Console.WriteLine();
Console.WriteLine(item);
Console.WriteLine();
}
db.Deleteable<Student>().Where(it => it.Id == 1).RemoveDataCache().ExecuteCommand(); db.Deleteable<Student>().Where(it => it.Id == 1).RemoveDataCache().ExecuteCommand();
Console.WriteLine("Cache Key Count:" + myCache.GetAllKey<string>().Count()); Console.WriteLine("Cache Key Count:" + myCache.GetAllKey<string>().Count());
} }
} }
} }