mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-15 02:02:27 +08:00
fix: memory 并发读写问题
This commit is contained in:
6
cache/memory.go
vendored
6
cache/memory.go
vendored
@@ -26,25 +26,31 @@ func NewMemory() *Memory {
|
||||
|
||||
// Get return cached value
|
||||
func (mem *Memory) Get(key string) interface{} {
|
||||
mem.Lock()
|
||||
if ret, ok := mem.data[key]; ok {
|
||||
mem.Unlock()
|
||||
if ret.Expired.Before(time.Now()) {
|
||||
mem.deleteKey(key)
|
||||
return nil
|
||||
}
|
||||
return ret.Data
|
||||
}
|
||||
mem.Unlock()
|
||||
return nil
|
||||
}
|
||||
|
||||
// IsExist check value exists in memcache.
|
||||
func (mem *Memory) IsExist(key string) bool {
|
||||
mem.Lock()
|
||||
if ret, ok := mem.data[key]; ok {
|
||||
mem.Unlock()
|
||||
if ret.Expired.Before(time.Now()) {
|
||||
mem.deleteKey(key)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
mem.Unlock()
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user