From b60769203b575f5918c78253a9053107277c5a09 Mon Sep 17 00:00:00 2001 From: boyce Date: Fri, 1 Feb 2019 18:19:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BC=82=E6=AD=A5=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysmodule/RedisModule.go | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/sysmodule/RedisModule.go b/sysmodule/RedisModule.go index cba1c56..b2d320f 100644 --- a/sysmodule/RedisModule.go +++ b/sysmodule/RedisModule.go @@ -14,7 +14,6 @@ const ( MAX_TASK_CHANNEL = 10240 ) - type RetError struct { resultType int resultChan chan error @@ -220,21 +219,41 @@ func (slf *RedisModule) setStringByExpire(key, value, expire string) error { //SetMuchRedisString redis添加多条string类型数据 //示例:SetMuchRedisString(map[string]string{"Test1": "C语言", "Test2": "Go语言", "Test3": "Python", "Test4": "C++"}) -func (slf *RedisModule) SetMuchRedisString(mapInfo map[string]string) (err error) { - err = slf.setMuchRedisStringByEx(mapInfo, "-1") +func (slf *RedisModule) SetMuchString(mapInfo map[string]string) (err error) { + err = slf.setMuchStringByExpire(mapInfo, "-1") return } +func (slf *RedisModule) GoSetMuchString(mapInfo map[string]string, retErr *RetError) (err error) { + return slf.GoSetMuchStringExpire(mapInfo, "-1", retErr) +} + //SetMuchRedisStringSameEx redis添加多条string类型数据 具有相同的过期时间 ex过期时间 整数 //示例:SetMuchRedisStringSameEx(map[string]string{"Test1": "C语言", "Test2": "Go语言", "Test3": "Python", "Test4": "C++"},"300") -func (slf *RedisModule) SetMuchRedisStringSameEx(mapInfo map[string]string, ex string) (err error) { - err = slf.setMuchRedisStringByEx(mapInfo, ex) - +func (slf *RedisModule) SetMuchStringExpire(mapInfo map[string]string, ex string) (err error) { + err = slf.setMuchStringByExpire(mapInfo, ex) return } -func (slf *RedisModule) setMuchRedisStringByEx(mapInfo map[string]string, ex string) error { +func (slf *RedisModule) GoSetMuchStringExpire(mapInfo map[string]string, expire string, err *RetError) error { + + if err != nil { + err.resultChan = make(chan error, 1) + } + + fun := func() { + ret := slf.setMuchStringByExpire(mapInfo, expire) + if err != nil { + err.resultChan <- ret + } + } + + slf.GoTask(fun) + return nil +} + +func (slf *RedisModule) setMuchStringByExpire(mapInfo map[string]string, expire string) error { if len(mapInfo) <= 0 { return errors.New("Save Info Is Empty") } @@ -247,10 +266,10 @@ func (slf *RedisModule) setMuchRedisStringByEx(mapInfo map[string]string, ex str // 开始Send数据 conn.Send("MULTI") for key, val := range mapInfo { - if ex == "-1" { + if expire == "-1" { conn.Send("SET", key, val) } else { - conn.Send("SET", key, val, "EX", ex) + conn.Send("SET", key, val, "EX", expire) } } // 执行命令