Skip to content

Commit d0b029f

Browse files
committed
✨调整SqlSugar缓存
1 parent d79ca4e commit d0b029f

File tree

4 files changed

+40
-72
lines changed

4 files changed

+40
-72
lines changed

Blog.Core.Common/Caches/SqlSugarCacheService.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@
66
namespace Blog.Core.Common.Caches;
77

88
/// <summary>
9-
/// 实现SqlSugar的ICacheService接口
9+
/// 实现SqlSugar的ICacheService接口<br/>
10+
/// <br/>
11+
/// 建议自己实现业务缓存,注入ICaching直接用即可<br/>
12+
/// <br/>
13+
/// 不建议使用SqlSugar缓存,性能有很大问题,会导致redis堆积<br/>
14+
/// 核心问题在于SqlSugar,每次query(注意:不管你有没有启用,所有表的查询)都会查缓存, insert\update\delete,又会频繁GetAllKey,导致性能特别低<br/>
1015
/// </summary>
1116
public class SqlSugarCacheService : ICacheService
1217
{
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
using Blog.Core.Common.Option.Core;
2+
3+
namespace Blog.Core.Common.Option;
4+
5+
public class AppSettingsOption : IConfigurableOptions
6+
{
7+
/// <summary>
8+
/// 迁移表结构
9+
/// </summary>
10+
public bool MigrateDBEnabled { get; set; }
11+
12+
/// <summary>
13+
/// 初始化数据
14+
/// </summary>
15+
public bool SeedDBEnabled { get; set; }
16+
17+
/// <summary>
18+
/// 生成测试数据
19+
/// </summary>
20+
public bool TestSeedDbEnabled { get; set; }
21+
22+
public string Author { get; set; }
23+
24+
/// <summary>
25+
/// 是否启用数据库二级缓存
26+
/// </summary>
27+
public bool CacheDbEnabled { get; set; } = false;
28+
}

Blog.Core.Extensions/ServiceExtensions/HttpRuntimeCache.cs

Lines changed: 0 additions & 68 deletions
This file was deleted.

Blog.Core.Extensions/ServiceExtensions/SqlsugarSetup.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using SqlSugar;
88
using Blog.Core.Common.Caches;
99
using System.Text.RegularExpressions;
10+
using Blog.Core.Common.Option;
1011
using Blog.Core.Common.Utility;
1112

1213
namespace Blog.Core.Extensions
@@ -36,7 +37,7 @@ public static void AddSqlsugarSetup(this IServiceCollection services)
3637
{
3738
ConfigId = m.ConnId.ObjToString().ToLower(),
3839
ConnectionString = m.Connection,
39-
DbType = (DbType) m.DbType,
40+
DbType = (DbType)m.DbType,
4041
IsAutoCloseConnection = true,
4142
// Check out more information: https://github.com/anjoy8/Blog.Core/issues/122
4243
//IsShardSameThread = false,
@@ -55,6 +56,8 @@ public static void AddSqlsugarSetup(this IServiceCollection services)
5556
// 自定义特性
5657
ConfigureExternalServices = new ConfigureExternalServices()
5758
{
59+
//不建议使用,性能有很大问题,会导致redis堆积
60+
//核心问题在于SqlSugar,每次query都会查缓存, insert\update\delete,又会频繁GetAllKey,导致性能特别低
5861
DataInfoCacheService = new SqlSugarCacheService(),
5962
EntityService = (property, column) =>
6063
{
@@ -73,7 +76,7 @@ public static void AddSqlsugarSetup(this IServiceCollection services)
7376
else
7477
{
7578
if (string.Equals(config.ConfigId.ToString(), MainDb.CurrentDbConnId,
76-
StringComparison.CurrentCultureIgnoreCase))
79+
StringComparison.CurrentCultureIgnoreCase))
7780
{
7881
BaseDBConfig.MainConfig = config;
7982
}
@@ -103,7 +106,7 @@ public static void AddSqlsugarSetup(this IServiceCollection services)
103106
{
104107
BaseDBConfig.ValidConfig.ForEach(config =>
105108
{
106-
var dbProvider = db.GetConnectionScope((string) config.ConfigId);
109+
var dbProvider = db.GetConnectionScope((string)config.ConfigId);
107110

108111
// 打印SQL语句
109112
dbProvider.Aop.OnLogExecuting = (s, parameters) =>

0 commit comments

Comments
 (0)