mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2026-04-03 21:05:47 +08:00
实现缓存策略若干功能
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package serverconfigs
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
|
||||
)
|
||||
|
||||
@@ -10,9 +12,9 @@ type HTTPCachePolicy struct {
|
||||
IsOn bool `yaml:"isOn" json:"isOn"` // 是否开启
|
||||
Name string `yaml:"name" json:"name"` // 名称
|
||||
Description string `yaml:"description" json:"description"` // 描述
|
||||
Capacity *shared.SizeCapacity `yaml:"capacity" json:"capacity"` // 最大内容容量
|
||||
MaxKeys int64 `yaml:"maxKeys" json:"maxKeys"` // 最多Key值
|
||||
MaxSize *shared.SizeCapacity `yaml:"maxSize" json:"maxSize"` // 单个缓存最大尺寸
|
||||
Capacity *shared.SizeCapacity `yaml:"capacity" json:"capacity"` // 最大内容容量 TODO 需要实现
|
||||
MaxKeys int64 `yaml:"maxKeys" json:"maxKeys"` // 最多Key值 TODO 需要实现
|
||||
MaxSize *shared.SizeCapacity `yaml:"maxSize" json:"maxSize"` // 单个缓存最大尺寸 TODO 需要实现
|
||||
Type CachePolicyType `yaml:"type" json:"type"` // 类型
|
||||
Options map[string]interface{} `yaml:"options" json:"options"` // 选项
|
||||
|
||||
@@ -34,3 +36,16 @@ func (this *HTTPCachePolicy) Init() error {
|
||||
func (this *HTTPCachePolicy) CapacitySize() int64 {
|
||||
return this.capacity
|
||||
}
|
||||
|
||||
// 对比Policy是否有变化
|
||||
func (this *HTTPCachePolicy) IsSame(anotherPolicy *HTTPCachePolicy) bool {
|
||||
policyJSON1, err := json.Marshal(this)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
policyJSON2, err := json.Marshal(anotherPolicy)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return bytes.Equal(policyJSON1, policyJSON2)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user