From a9aa15db0c1baf01a83a56a076bf62a307993e38 Mon Sep 17 00:00:00 2001 From: weloe <1345895607@qq.com> Date: Thu, 10 Aug 2023 21:15:32 +0800 Subject: [PATCH] fix: fix default_adapter.Get() --- persist/adapter.go | 3 ++- persist/default_adapter.go | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/persist/adapter.go b/persist/adapter.go index 5e52aa2..7415b3f 100644 --- a/persist/adapter.go +++ b/persist/adapter.go @@ -18,7 +18,8 @@ type Adapter interface { UpdateStrTimeout(key string, timeout int64) error // Get returns interface{} - // If serializer != nil, need to input reflect.Type, used to serializer to deserialize + // If serializer != nil, need to input reflect.Type, used to serializer to deserialize, + // if ( serializer == nil || t == nil || len(t) == 0 ), returns value directly. Get(key string, t ...reflect.Type) interface{} // Set store interface{} Set(key string, value interface{}, timeout int64) error diff --git a/persist/default_adapter.go b/persist/default_adapter.go index 0410255..83943fb 100644 --- a/persist/default_adapter.go +++ b/persist/default_adapter.go @@ -92,12 +92,9 @@ func (d *DefaultAdapter) Get(key string, t ...reflect.Type) interface{} { d.getExpireAndDelete(key) value, _ := d.dataMap.Load(key) - if d.serializer == nil { + if d.serializer == nil || t == nil || len(t) == 0 { return value } - if t == nil && len(t) == 0 { - return nil - } bytes, err := util.InterfaceToBytes(value) if err != nil { log.Printf("Adapter.Get() failed: %v", err)