in src/middleware/cache.go [117:138]
func (c *Cache) Get(key string) (Todo, error) {
t := Todo{}
if !c.enabled {
return t, ErrCacheMiss
}
conn := c.redisPool.Get()
defer conn.Close()
s, err := redis.String(conn.Do("GET", key))
if err == redis.ErrNil {
return Todo{}, ErrCacheMiss
} else if err != nil {
return Todo{}, err
}
if err := json.Unmarshal([]byte(s), &t); err != nil {
return Todo{}, err
}
c.log("Successfully retrieved todo from cache")
return t, nil
}