From 748a3663e2fe09733552a0757419bcd530e6e328 Mon Sep 17 00:00:00 2001 From: Ally Dale Date: Wed, 21 Aug 2019 14:49:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8E=A5=E5=8F=A3=E5=88=A4?= =?UTF-8?q?=E6=96=ADkey=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysmodule/RedisModule.go | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/sysmodule/RedisModule.go b/sysmodule/RedisModule.go index 05989bf..ff008f8 100644 --- a/sysmodule/RedisModule.go +++ b/sysmodule/RedisModule.go @@ -504,6 +504,28 @@ func (slf *RedisModule) GetMuchStringJSON(keys map[string]interface{}) error { return nil } +//判断一个Key是否存在 +func (slf *RedisModule) ExistsKey(key string) (bool, error) { + conn, err := slf.getConn() + if err != nil { + return false, err + } + defer conn.Close() + + ret, err := conn.Do("EXISTS", key) + if err != nil { + service.GetLogger().Printf(service.LEVER_ERROR, "ExistsKey fail, reason:%v", err) + return false, err + } + retValue, ok := ret.(int64) + if !ok { + err = errors.New("Func[ExistsKey] Redis Data Error") + return false, err + } + + return retValue != 0, nil +} + //DelRedisString redis删除string类型数据 //示例:DelRedisString("AAAABTEST1") func (slf *RedisModule) DelString(key string) error { @@ -526,7 +548,7 @@ func (slf *RedisModule) DelString(key string) error { } if retValue == 0 { - err = errors.New("Func[DelRedisString] Delete Key Fail") + err = fmt.Errorf("Func[DelRedisString] Delete Key(%s) not exists", key) return err }