func()

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
}