diff --git a/LFlow.Base/LFlow.Base.csproj b/LFlow.Base/LFlow.Base.csproj
index 002592e..a868336 100644
--- a/LFlow.Base/LFlow.Base.csproj
+++ b/LFlow.Base/LFlow.Base.csproj
@@ -28,6 +28,7 @@
+
diff --git a/LFlow.Base/Program.cs b/LFlow.Base/Program.cs
index 6840cec..c3a8545 100644
--- a/LFlow.Base/Program.cs
+++ b/LFlow.Base/Program.cs
@@ -1,5 +1,6 @@
using LFlow.Base.Interfaces;
using LFlow.Base.Utils;
+using LFlow.Cache;
using LFlow.InternalEventBus;
using LFlow.Middleware;
@@ -40,7 +41,10 @@ public static class Program
// 注册中间件
builder.Services.RegisterMiddlewares(App.SubServiceAssembly);
+ // 注册内部事件总线
builder.Services.AddInternalEventBus(App.SubServiceAssembly);
+ // 注册自身缓存器
+ builder.Services.AddSelfCache();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
diff --git a/LFlow.Cache/Cacher/SelfSingleCache.cs b/LFlow.Cache/Cacher/SelfSingleCache.cs
new file mode 100644
index 0000000..b531a8e
--- /dev/null
+++ b/LFlow.Cache/Cacher/SelfSingleCache.cs
@@ -0,0 +1,54 @@
+using LFlow.Cache.Interface;
+using Microsoft.Extensions.Caching.Memory;
+
+namespace LFlow.Cache.Cacher
+{
+ ///
+ /// 自身的单实例缓存
+ ///
+ public class SelfSingleCache : ISelfCache
+ {
+ protected MemoryCache _cache = new(new MemoryCacheOptions()
+ {
+ ExpirationScanFrequency = new TimeSpan(0, 0, 10)
+ });
+
+ public MemoryCache CacheProvider => _cache;
+
+
+ public Task ClearAsync()
+ {
+ CacheProvider.Clear();
+ return Task.CompletedTask;
+ }
+
+ public Task GetAsync(string key)
+ {
+ return Task.FromResult(CacheProvider.Get(key));
+ }
+
+ public Task