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) {
 | 
			
		||||
 
 | 
			
		||||
@@ -2,39 +2,41 @@ package models
 | 
			
		||||
 | 
			
		||||
// HTTPCachePolicy HTTP缓存策略
 | 
			
		||||
type HTTPCachePolicy struct {
 | 
			
		||||
	Id          uint32 `field:"id"`          // ID
 | 
			
		||||
	AdminId     uint32 `field:"adminId"`     // 管理员ID
 | 
			
		||||
	UserId      uint32 `field:"userId"`      // 用户ID
 | 
			
		||||
	TemplateId  uint32 `field:"templateId"`  // 模版ID
 | 
			
		||||
	IsOn        uint8  `field:"isOn"`        // 是否启用
 | 
			
		||||
	Name        string `field:"name"`        // 名称
 | 
			
		||||
	Capacity    string `field:"capacity"`    // 容量数据
 | 
			
		||||
	MaxKeys     uint64 `field:"maxKeys"`     // 最多Key值
 | 
			
		||||
	MaxSize     string `field:"maxSize"`     // 最大缓存内容尺寸
 | 
			
		||||
	Type        string `field:"type"`        // 存储类型
 | 
			
		||||
	Options     string `field:"options"`     // 存储选项
 | 
			
		||||
	CreatedAt   uint64 `field:"createdAt"`   // 创建时间
 | 
			
		||||
	State       uint8  `field:"state"`       // 状态
 | 
			
		||||
	Description string `field:"description"` // 描述
 | 
			
		||||
	Refs        string `field:"refs"`        // 默认的缓存设置
 | 
			
		||||
	Id                   uint32 `field:"id"`                   // ID
 | 
			
		||||
	AdminId              uint32 `field:"adminId"`              // 管理员ID
 | 
			
		||||
	UserId               uint32 `field:"userId"`               // 用户ID
 | 
			
		||||
	TemplateId           uint32 `field:"templateId"`           // 模版ID
 | 
			
		||||
	IsOn                 uint8  `field:"isOn"`                 // 是否启用
 | 
			
		||||
	Name                 string `field:"name"`                 // 名称
 | 
			
		||||
	Capacity             string `field:"capacity"`             // 容量数据
 | 
			
		||||
	MaxKeys              uint64 `field:"maxKeys"`              // 最多Key值
 | 
			
		||||
	MaxSize              string `field:"maxSize"`              // 最大缓存内容尺寸
 | 
			
		||||
	Type                 string `field:"type"`                 // 存储类型
 | 
			
		||||
	Options              string `field:"options"`              // 存储选项
 | 
			
		||||
	CreatedAt            uint64 `field:"createdAt"`            // 创建时间
 | 
			
		||||
	State                uint8  `field:"state"`                // 状态
 | 
			
		||||
	Description          string `field:"description"`          // 描述
 | 
			
		||||
	Refs                 string `field:"refs"`                 // 默认的缓存设置
 | 
			
		||||
	SyncCompressionCache uint8  `field:"syncCompressionCache"` // 是否同步写入压缩缓存
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type HTTPCachePolicyOperator struct {
 | 
			
		||||
	Id          interface{} // ID
 | 
			
		||||
	AdminId     interface{} // 管理员ID
 | 
			
		||||
	UserId      interface{} // 用户ID
 | 
			
		||||
	TemplateId  interface{} // 模版ID
 | 
			
		||||
	IsOn        interface{} // 是否启用
 | 
			
		||||
	Name        interface{} // 名称
 | 
			
		||||
	Capacity    interface{} // 容量数据
 | 
			
		||||
	MaxKeys     interface{} // 最多Key值
 | 
			
		||||
	MaxSize     interface{} // 最大缓存内容尺寸
 | 
			
		||||
	Type        interface{} // 存储类型
 | 
			
		||||
	Options     interface{} // 存储选项
 | 
			
		||||
	CreatedAt   interface{} // 创建时间
 | 
			
		||||
	State       interface{} // 状态
 | 
			
		||||
	Description interface{} // 描述
 | 
			
		||||
	Refs        interface{} // 默认的缓存设置
 | 
			
		||||
	Id                   interface{} // ID
 | 
			
		||||
	AdminId              interface{} // 管理员ID
 | 
			
		||||
	UserId               interface{} // 用户ID
 | 
			
		||||
	TemplateId           interface{} // 模版ID
 | 
			
		||||
	IsOn                 interface{} // 是否启用
 | 
			
		||||
	Name                 interface{} // 名称
 | 
			
		||||
	Capacity             interface{} // 容量数据
 | 
			
		||||
	MaxKeys              interface{} // 最多Key值
 | 
			
		||||
	MaxSize              interface{} // 最大缓存内容尺寸
 | 
			
		||||
	Type                 interface{} // 存储类型
 | 
			
		||||
	Options              interface{} // 存储选项
 | 
			
		||||
	CreatedAt            interface{} // 创建时间
 | 
			
		||||
	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