Browse Source

redis集群工具类

maxiaoshan 3 years ago
parent
commit
f17fe72cfe
3 changed files with 52 additions and 3 deletions
  1. 1 1
      src/spiderutil/rediscluster.go
  2. 48 0
      src/spiderutil/redisclusterutil.go
  3. 3 2
      src/spiderutil/upload.go

+ 1 - 1
src/spiderutil/rediscluster.go

@@ -10,7 +10,7 @@ import (
 
 
 var clu goredis.RedisCluster
 var clu goredis.RedisCluster
 
 
-func InitRedisCluster(redishosts []string, max_idle, max_active int, debug bool) {
+func InitCluster(redishosts []string, max_idle, max_active int, debug bool) {
 	clu = goredis.NewRedisCluster(redishosts, max_idle, max_active, debug)
 	clu = goredis.NewRedisCluster(redishosts, max_idle, max_active, debug)
 }
 }
 
 

+ 48 - 0
src/spiderutil/redisclusterutil.go

@@ -0,0 +1,48 @@
+package spiderutil
+
+import (
+	"log"
+	"time"
+
+	"github.com/go-redis/redis"
+	"golang.org/x/net/context"
+)
+
+var ctx = context.Background()
+var RedisCluster *redis.ClusterClient
+
+func InitRedisCluster(addrs []string) {
+	opts := &redis.ClusterOptions{
+		Addrs:        addrs,
+		DialTimeout:  120 * time.Second,
+		ReadTimeout:  60 * time.Second,
+		WriteTimeout: 60 * time.Second,
+	}
+	RedisCluster = redis.NewClusterClient(opts)
+}
+
+//set
+func RedisClusterSet(key string, val interface{}, timeout int) bool {
+	resullt, err := RedisCluster.Set(ctx, key, val, time.Duration(timeout)*time.Second).Result()
+	if err != nil || resullt != "OK" {
+		log.Println("Redis Cluster Set Error:", resullt, err)
+		return false
+	}
+	return true
+}
+
+//get
+func RedisClusterGet(key string) string {
+	resullt, _ := RedisCluster.Get(ctx, key).Result()
+	return resullt
+}
+
+//exists
+func RedisClusterExists(key string) bool {
+	resullt, err := RedisCluster.Exists(ctx, key).Result()
+	if err != nil || resullt != 1 {
+		log.Println("Redis Cluster Exists Error:", resullt, err)
+		return false
+	}
+	return true
+}

+ 3 - 2
src/spiderutil/upload.go

@@ -70,7 +70,7 @@ func UploadFile(code, fileName, url string, bt []byte) (string, string, string,
 		newFileType = util.GetFileType(bt)
 		newFileType = util.GetFileType(bt)
 	}
 	}
 	fileName = name
 	fileName = name
-	if !commUsedReg.MatchString(newFileType) { //
+	if !commUsedReg.MatchString(newFileType) { //newFileType不是常见类型
 		if !commUsedReg.MatchString(oldFileType) { //都不是常见的附件类型不上传
 		if !commUsedReg.MatchString(oldFileType) { //都不是常见的附件类型不上传
 			logger.Error("上传文件出错,该文件类型禁止上传!", code, " upload file "+fileName, url)
 			logger.Error("上传文件出错,该文件类型禁止上传!", code, " upload file "+fileName, url)
 			return "", fileName, size, newFileType, ""
 			return "", fileName, size, newFileType, ""
@@ -78,9 +78,10 @@ func UploadFile(code, fileName, url string, bt []byte) (string, string, string,
 			newFileType = oldFileType
 			newFileType = oldFileType
 			fileName = name + "." + newFileType
 			fileName = name + "." + newFileType
 		}
 		}
-	} else {
+	} else { //newFileType是常见类型
 		fileName = name + "." + newFileType
 		fileName = name + "." + newFileType
 		if commUsedReg.MatchString(oldFileType) && newFileType != oldFileType {
 		if commUsedReg.MatchString(oldFileType) && newFileType != oldFileType {
+			fileName = name + "." + oldFileType
 			logger.Info("附件类型不同:", newFileType, oldFileType, code, url)
 			logger.Info("附件类型不同:", newFileType, oldFileType, code, url)
 		}
 		}
 	}
 	}