mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 16:00:24 +08:00 
			
		
		
		
	增加是否同步写入压缩缓存设置
This commit is contained in:
		@@ -95,7 +95,7 @@ func (this *HTTPCachePolicyDAO) FindAllEnabledCachePolicies(tx *dbs.Tx) (result
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateCachePolicy 创建缓存策略
 | 
			
		||||
func (this *HTTPCachePolicyDAO) CreateCachePolicy(tx *dbs.Tx, isOn bool, name string, description string, capacityJSON []byte, maxKeys int64, maxSizeJSON []byte, storageType string, storageOptionsJSON []byte) (int64, error) {
 | 
			
		||||
func (this *HTTPCachePolicyDAO) CreateCachePolicy(tx *dbs.Tx, isOn bool, name string, description string, capacityJSON []byte, maxKeys int64, maxSizeJSON []byte, storageType string, storageOptionsJSON []byte, syncCompressionCache bool) (int64, error) {
 | 
			
		||||
	op := NewHTTPCachePolicyOperator()
 | 
			
		||||
	op.State = HTTPCachePolicyStateEnabled
 | 
			
		||||
	op.IsOn = isOn
 | 
			
		||||
@@ -112,6 +112,7 @@ func (this *HTTPCachePolicyDAO) CreateCachePolicy(tx *dbs.Tx, isOn bool, name st
 | 
			
		||||
	if len(storageOptionsJSON) > 0 {
 | 
			
		||||
		op.Options = storageOptionsJSON
 | 
			
		||||
	}
 | 
			
		||||
	op.SyncCompressionCache = syncCompressionCache
 | 
			
		||||
 | 
			
		||||
	// 默认的缓存条件
 | 
			
		||||
	cacheRef := &serverconfigs.HTTPCacheRef{
 | 
			
		||||
@@ -188,7 +189,7 @@ func (this *HTTPCachePolicyDAO) CreateDefaultCachePolicy(tx *dbs.Tx, name string
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	policyId, err := this.CreateCachePolicy(tx, true, "\""+name+"\"缓存策略", "默认创建的缓存策略", capacityJSON, 0, maxSizeJSON, serverconfigs.CachePolicyStorageFile, storageOptionsJSON)
 | 
			
		||||
	policyId, err := this.CreateCachePolicy(tx, true, "\""+name+"\"缓存策略", "默认创建的缓存策略", capacityJSON, 0, maxSizeJSON, serverconfigs.CachePolicyStorageFile, storageOptionsJSON, false)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
@@ -196,7 +197,7 @@ func (this *HTTPCachePolicyDAO) CreateDefaultCachePolicy(tx *dbs.Tx, name string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UpdateCachePolicy 修改缓存策略
 | 
			
		||||
func (this *HTTPCachePolicyDAO) UpdateCachePolicy(tx *dbs.Tx, policyId int64, isOn bool, name string, description string, capacityJSON []byte, maxKeys int64, maxSizeJSON []byte, storageType string, storageOptionsJSON []byte) error {
 | 
			
		||||
func (this *HTTPCachePolicyDAO) UpdateCachePolicy(tx *dbs.Tx, policyId int64, isOn bool, name string, description string, capacityJSON []byte, maxKeys int64, maxSizeJSON []byte, storageType string, storageOptionsJSON []byte, syncCompressionCache bool) error {
 | 
			
		||||
	if policyId <= 0 {
 | 
			
		||||
		return errors.New("invalid policyId")
 | 
			
		||||
	}
 | 
			
		||||
@@ -217,6 +218,7 @@ func (this *HTTPCachePolicyDAO) UpdateCachePolicy(tx *dbs.Tx, policyId int64, is
 | 
			
		||||
	if len(storageOptionsJSON) > 0 {
 | 
			
		||||
		op.Options = storageOptionsJSON
 | 
			
		||||
	}
 | 
			
		||||
	op.SyncCompressionCache = syncCompressionCache
 | 
			
		||||
	err := this.Save(tx, op)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
@@ -247,6 +249,7 @@ func (this *HTTPCachePolicyDAO) ComposeCachePolicy(tx *dbs.Tx, policyId int64, c
 | 
			
		||||
	config.IsOn = policy.IsOn == 1
 | 
			
		||||
	config.Name = policy.Name
 | 
			
		||||
	config.Description = policy.Description
 | 
			
		||||
	config.SyncCompressionCache = policy.SyncCompressionCache == 1
 | 
			
		||||
 | 
			
		||||
	// capacity
 | 
			
		||||
	if IsNotNull(policy.Capacity) {
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,7 @@ type HTTPCachePolicy struct {
 | 
			
		||||
	State                uint8  `field:"state"`                // 状态
 | 
			
		||||
	Description          string `field:"description"`          // 描述
 | 
			
		||||
	Refs                 string `field:"refs"`                 // 默认的缓存设置
 | 
			
		||||
	SyncCompressionCache uint8  `field:"syncCompressionCache"` // 是否同步写入压缩缓存
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type HTTPCachePolicyOperator struct {
 | 
			
		||||
@@ -35,6 +36,7 @@ type HTTPCachePolicyOperator struct {
 | 
			
		||||
	State                interface{} // 状态
 | 
			
		||||
	Description          interface{} // 描述
 | 
			
		||||
	Refs                 interface{} // 默认的缓存设置
 | 
			
		||||
	SyncCompressionCache interface{} // 是否同步写入压缩缓存
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewHTTPCachePolicyOperator() *HTTPCachePolicyOperator {
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ func (this *HTTPCachePolicyService) CreateHTTPCachePolicy(ctx context.Context, r
 | 
			
		||||
 | 
			
		||||
	tx := this.NullTx()
 | 
			
		||||
 | 
			
		||||
	policyId, err := models.SharedHTTPCachePolicyDAO.CreateCachePolicy(tx, req.IsOn, req.Name, req.Description, req.CapacityJSON, req.MaxKeys, req.MaxSizeJSON, req.Type, req.OptionsJSON)
 | 
			
		||||
	policyId, err := models.SharedHTTPCachePolicyDAO.CreateCachePolicy(tx, req.IsOn, req.Name, req.Description, req.CapacityJSON, req.MaxKeys, req.MaxSizeJSON, req.Type, req.OptionsJSON, req.SyncCompressionCache)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
@@ -63,7 +63,7 @@ func (this *HTTPCachePolicyService) UpdateHTTPCachePolicy(ctx context.Context, r
 | 
			
		||||
 | 
			
		||||
	tx := this.NullTx()
 | 
			
		||||
 | 
			
		||||
	err = models.SharedHTTPCachePolicyDAO.UpdateCachePolicy(tx, req.HttpCachePolicyId, req.IsOn, req.Name, req.Description, req.CapacityJSON, req.MaxKeys, req.MaxSizeJSON, req.Type, req.OptionsJSON)
 | 
			
		||||
	err = models.SharedHTTPCachePolicyDAO.UpdateCachePolicy(tx, req.HttpCachePolicyId, req.IsOn, req.Name, req.Description, req.CapacityJSON, req.MaxKeys, req.MaxSizeJSON, req.Type, req.OptionsJSON, req.SyncCompressionCache)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user