|
@@ -78,6 +78,50 @@ func Put(code, key string, obj interface{}, timeout int) bool {
|
|
|
return b
|
|
|
}
|
|
|
|
|
|
+func BulkPut(code string, timeout int, obj ...interface{}) bool {
|
|
|
+ b := false
|
|
|
+ defer func() {
|
|
|
+ if r := recover(); r != nil {
|
|
|
+ log.Println("[E]", r)
|
|
|
+ for skip := 1; ; skip++ {
|
|
|
+ _, file, line, ok := runtime.Caller(skip)
|
|
|
+ if !ok {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ go log.Printf("%v,%v\n", file, line)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ conn := RedisPool[code].Get()
|
|
|
+ defer conn.Close()
|
|
|
+ var err error
|
|
|
+ for _, _tmp := range obj {
|
|
|
+ tmp, ok := _tmp.([]interface{})
|
|
|
+ if ok && len(tmp) == 2 {
|
|
|
+ key, kok := tmp[0].(string)
|
|
|
+ if kok && key != "" {
|
|
|
+ _obj, _err := json.Marshal(tmp[1])
|
|
|
+ if _err != nil {
|
|
|
+ log.Println("redisutil-SET-序列化出错Error", _err)
|
|
|
+ return b
|
|
|
+ }
|
|
|
+ if timeout < 1 {
|
|
|
+ _, err = conn.Do("SET", key, _obj)
|
|
|
+ } else {
|
|
|
+ _, err = conn.Do("SET", key, _obj, "EX", timeout)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if nil != err {
|
|
|
+ b = false
|
|
|
+ log.Println("redisutil-SETError-put", err)
|
|
|
+ } else {
|
|
|
+ b = b && true
|
|
|
+ }
|
|
|
+ return b
|
|
|
+}
|
|
|
+
|
|
|
//直接存字节流
|
|
|
func PutBytes(code, key string, data *[]byte, timeout int) (err error) {
|
|
|
|