|
@@ -3,11 +3,12 @@ package redis
|
|
import (
|
|
import (
|
|
"encoding/json"
|
|
"encoding/json"
|
|
"errors"
|
|
"errors"
|
|
- redigo "github.com/garyburd/redigo/redis"
|
|
|
|
"log"
|
|
"log"
|
|
"runtime"
|
|
"runtime"
|
|
"strings"
|
|
"strings"
|
|
"time"
|
|
"time"
|
|
|
|
+
|
|
|
|
+ redigo "github.com/garyburd/redigo/redis"
|
|
)
|
|
)
|
|
|
|
|
|
var RedisPool map[string]*redigo.Pool
|
|
var RedisPool map[string]*redigo.Pool
|
|
@@ -504,6 +505,59 @@ func LLEN(code, list string) int64 {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+func Zadd(code, key string, score float64, value string) int64 {
|
|
|
|
+ defer catch()
|
|
|
|
+ conn := RedisPool[code].Get()
|
|
|
|
+ defer conn.Close()
|
|
|
|
+ ret, err := conn.Do("ZADD", key, score, value)
|
|
|
|
+ if nil != err {
|
|
|
|
+ log.Println("redisutil-Zadd error", err)
|
|
|
|
+ return -1
|
|
|
|
+ }
|
|
|
|
+ if res, ok := ret.(int64); ok {
|
|
|
|
+ return res
|
|
|
|
+ } else {
|
|
|
|
+ return -1
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func Zrevrangebyscore(code, key string, max, min interface{}) []string {
|
|
|
|
+ defer catch()
|
|
|
|
+ conn := RedisPool[code].Get()
|
|
|
|
+ defer conn.Close()
|
|
|
|
+ ret, err := conn.Do("ZREVRANGEBYSCORE", key, max, min)
|
|
|
|
+ r := []string{}
|
|
|
|
+ if nil != err {
|
|
|
|
+ log.Println("redisutil-ZREVRANGEBYSCORE error", err)
|
|
|
|
+ return r
|
|
|
|
+ }
|
|
|
|
+ if res, ok := ret.([]interface{}); ok {
|
|
|
|
+ for _, v := range res {
|
|
|
|
+ r = append(r, string(v.([]uint8)))
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return r
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func Zrem(code, key string, member ...string) int64 {
|
|
|
|
+ defer catch()
|
|
|
|
+ conn := RedisPool[code].Get()
|
|
|
|
+ defer conn.Close()
|
|
|
|
+ args := []interface{}{key}
|
|
|
|
+ for _, v := range member {
|
|
|
|
+ args = append(args, v)
|
|
|
|
+ }
|
|
|
|
+ ret, err := conn.Do("ZREM", args...)
|
|
|
|
+ if nil != err {
|
|
|
|
+ log.Println("redisutil-ZREM error", err)
|
|
|
|
+ return -1
|
|
|
|
+ }
|
|
|
|
+ if res, ok := ret.(int64); ok {
|
|
|
|
+ return res
|
|
|
|
+ }
|
|
|
|
+ return -1
|
|
|
|
+}
|
|
|
|
+
|
|
func catch() {
|
|
func catch() {
|
|
if r := recover(); r != nil {
|
|
if r := recover(); r != nil {
|
|
log.Println(r)
|
|
log.Println(r)
|