xorm/contexts/context_cache.go

31 lines
793 B
Go
Raw Normal View History

// Copyright 2018 The Xorm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package contexts
// ContextCache is the interface that operates the cache data.
type ContextCache interface {
// Put puts value into cache with key.
2023-10-28 09:48:25 +00:00
Put(key string, val any)
// Get gets cached value by given key.
2023-10-28 09:48:25 +00:00
Get(key string) any
}
2023-10-28 09:48:25 +00:00
type memoryContextCache map[string]any
// NewMemoryContextCache return memoryContextCache
func NewMemoryContextCache() memoryContextCache {
2023-10-28 09:48:25 +00:00
return make(map[string]any)
}
// Put puts value into cache with key.
2023-10-28 09:48:25 +00:00
func (m memoryContextCache) Put(key string, val any) {
m[key] = val
}
// Get gets cached value by given key.
2023-10-28 09:48:25 +00:00
func (m memoryContextCache) Get(key string) any {
return m[key]
}