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 static void Init()
{
HttpRuntimeCache();
//RedisCache();
}
private static void HttpRuntimeCache()
{
ICacheService myCache = new HttpRuntimeCache();//ICacheService
SqlSugarClient db = new SqlSugarClient( new ConnectionConfig(){
ConnectionString = Config.ConnectionString,
DbType = DbType.SqlServer,
IsAutoCloseConnection = true,
ConfigureExternalServices = new ConfigureExternalServices()
{
DataInfoCacheService = myCache //Setting external cache service
}
});
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) => s1.Id == s2.Id).Select(s1 => s1).WithCache().ToList();
db.Queryable<Student, Student>((s1, s2) => new object[] {
@ -40,19 +48,60 @@ namespace ExtensionsDemo
}).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>())
{
Console.WriteLine();
Console.WriteLine(item);
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();
Console.WriteLine("Cache Key Count:" + myCache.GetAllKey<string>().Count());
}
}
}