diff --git a/internal/caches/manager.go b/internal/caches/manager.go index de69ab6..d2d9a3a 100644 --- a/internal/caches/manager.go +++ b/internal/caches/manager.go @@ -25,6 +25,7 @@ func init() { type Manager struct { // 全局配置 MaxDiskCapacity *shared.SizeCapacity + DiskDir string MaxMemoryCapacity *shared.SizeCapacity policyMap map[int64]*serverconfigs.HTTPCachePolicy // policyId => []*Policy @@ -49,6 +50,11 @@ func (this *Manager) UpdatePolicies(newPolicies []*serverconfigs.HTTPCachePolicy newPolicyIds := []int64{} for _, policy := range newPolicies { + // 使用节点单独的缓存目录 + if len(this.DiskDir) > 0 { + policy.UpdateDiskDir(this.DiskDir) + } + newPolicyIds = append(newPolicyIds, policy.Id) } diff --git a/internal/nodes/node.go b/internal/nodes/node.go index bbeec22..463fe18 100644 --- a/internal/nodes/node.go +++ b/internal/nodes/node.go @@ -796,6 +796,7 @@ func (this *Node) onReload(config *nodeconfigs.NodeConfig) { // 缓存策略 caches.SharedManager.MaxDiskCapacity = config.MaxCacheDiskCapacity caches.SharedManager.MaxMemoryCapacity = config.MaxCacheMemoryCapacity + caches.SharedManager.DiskDir = config.CacheDiskDir if len(config.HTTPCachePolicies) > 0 { caches.SharedManager.UpdatePolicies(config.HTTPCachePolicies) } else {