diff --git a/lib/gcache/redis/gcache_redis.go b/lib/gcache/redis/gcache_redis.go index 58d7bbb..52932a6 100644 --- a/lib/gcache/redis/gcache_redis.go +++ b/lib/gcache/redis/gcache_redis.go @@ -3,6 +3,7 @@ package gcacheredis import ( "time" + "github.com/go-redis/redis" gcachebase "github.com/jameschz/go-base/lib/gcache/base" gcachepool "github.com/jameschz/go-base/lib/gcache/pool" ) @@ -84,7 +85,9 @@ func (r *Redis) Get(k string) (string, error) { r.Connect(k) // get kv v, err := r.RedisConn.Get(k).Result() - if err != nil { + if err == redis.Nil { + return "", nil + } else if err != nil { return "", err } return v, nil @@ -100,7 +103,9 @@ func (r *Redis) Del(k string) error { r.Connect(k) // del kv _, err := r.RedisConn.Del(k).Result() - if err != nil { + if err == redis.Nil { + return nil + } else if err != nil { return err } return nil @@ -116,7 +121,9 @@ func (r *Redis) Incr(k string) (int64, error) { r.Connect(k) // get kv v, err := r.RedisConn.Incr(k).Result() - if err != nil { + if err == redis.Nil { + return 0, nil + } else if err != nil { return 0, err } return v, nil @@ -132,7 +139,9 @@ func (r *Redis) IncrBy(k string, val int64) (int64, error) { r.Connect(k) // get kv v, err := r.RedisConn.IncrBy(k, val).Result() - if err != nil { + if err == redis.Nil { + return 0, nil + } else if err != nil { return 0, err } return v, nil