mirror of
https://github.com/astaxie/beego.git
synced 2024-11-22 08:00:57 +00:00
add timeout description for file and memory cache.
This commit is contained in:
parent
053e7a6aa6
commit
5b1afcdb5a
3
cache/file.go
vendored
3
cache/file.go
vendored
@ -144,12 +144,13 @@ func (this *FileCache) Get(key string) interface{} {
|
|||||||
|
|
||||||
// Put value into file cache.
|
// Put value into file cache.
|
||||||
// timeout means how long to keep this file, unit of ms.
|
// timeout means how long to keep this file, unit of ms.
|
||||||
|
// if timeout equals FileCacheEmbedExpiry(default is 0), cache this item forever.
|
||||||
func (this *FileCache) Put(key string, val interface{}, timeout int64) error {
|
func (this *FileCache) Put(key string, val interface{}, timeout int64) error {
|
||||||
filename := this.getCacheFileName(key)
|
filename := this.getCacheFileName(key)
|
||||||
var item FileCacheItem
|
var item FileCacheItem
|
||||||
item.Data = val
|
item.Data = val
|
||||||
if timeout == FileCacheEmbedExpiry {
|
if timeout == FileCacheEmbedExpiry {
|
||||||
item.Expired = time.Now().Unix() + (86400 * 365 * 10) //10年
|
item.Expired = time.Now().Unix() + (86400 * 365 * 10) // ten years
|
||||||
} else {
|
} else {
|
||||||
item.Expired = time.Now().Unix() + timeout
|
item.Expired = time.Now().Unix() + timeout
|
||||||
}
|
}
|
||||||
|
3
cache/memory.go
vendored
3
cache/memory.go
vendored
@ -26,7 +26,7 @@ type MemoryCache struct {
|
|||||||
lock sync.RWMutex
|
lock sync.RWMutex
|
||||||
dur time.Duration
|
dur time.Duration
|
||||||
items map[string]*MemoryItem
|
items map[string]*MemoryItem
|
||||||
Every int // run an expiration check Every cloc; time
|
Every int // run an expiration check Every clock time
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewMemoryCache returns a new MemoryCache.
|
// NewMemoryCache returns a new MemoryCache.
|
||||||
@ -52,6 +52,7 @@ func (bc *MemoryCache) Get(name string) interface{} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Put cache to memory.
|
// Put cache to memory.
|
||||||
|
// if expired is 0, it will be cleaned by next gc operation ( default gc clock is 1 minute).
|
||||||
func (bc *MemoryCache) Put(name string, value interface{}, expired int64) error {
|
func (bc *MemoryCache) Put(name string, value interface{}, expired int64) error {
|
||||||
bc.lock.Lock()
|
bc.lock.Lock()
|
||||||
defer bc.lock.Unlock()
|
defer bc.lock.Unlock()
|
||||||
|
Loading…
Reference in New Issue
Block a user