Skip to content

Commit

Permalink
redis cache: check for nil
Browse files Browse the repository at this point in the history
  • Loading branch information
Mario L Gutierrez committed Jun 27, 2015
1 parent da5d9aa commit e679b9c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
8 changes: 7 additions & 1 deletion kvs/redis.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,13 @@ func (rs *RedisStore) Get(key string) (string, error) {
defer conn.Close()

key = rs.ns + key
return redis.String(conn.Do("GET", key))
s, err := redis.String(conn.Do("GET", key))
if err == redis.ErrNil {
return "", ErrNotFound
} else if err != nil {
return "", err
}
return s, nil
}

// Del deletes a key
Expand Down
6 changes: 3 additions & 3 deletions sqlx-runner/exec.go
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@ func cacheOrSQL(execer *Execer) (sql string, args []interface{}, value []byte, e
v, err := Cache.Get(execer.cacheID)
//logger.Warn("DBG cacheOrSQL.1 getting by id", "id", execer.cacheID, "v", v, "err", err)
if err != nil && err != kvs.ErrNotFound {
logger.Error("Unable to read cache key. Continuing with query", "key", execer.cacheID)
logger.Error("Unable to read cache key. Continuing with query", "key", execer.cacheID, "err", err)
} else if v != "" {
//logger.Warn("DBG cacheOrSQL.11 HIT", "v", v)
return "", nil, []byte(v), nil
Expand Down Expand Up @@ -472,10 +472,10 @@ func setCache(execer *Execer, data interface{}, dataType int) {
case dtStruct:
b, err := json.Marshal(data)
if err != nil {
logger.Warn("Could not marshal data, clearing", "key", execer.cacheID)
logger.Warn("Could not marshal data, clearing", "key", execer.cacheID, "err", err)
err = Cache.Del(execer.cacheID)
if err != nil {
logger.Error("Could not delete cache key", "key", execer.cacheID)
logger.Error("Could not delete cache key", "key", execer.cacheID, "err", err)
}
return
}
Expand Down

0 comments on commit e679b9c

Please sign in to comment.