Пример #1
0
func (s *RedisStore) Get(b *bucket.Bucket) error {
	defer s.Mchan.Time("bucket.get", time.Now())
	rc := s.redisPool.Get()
	defer rc.Close()

	key, err := b.Id.Encode()
	if err != nil {
		return err
	}
	reply, err := redis.Values(rc.Do("LRANGE", key, 0, -1))
	if err != nil {
		return err
	}
	if len(reply) == 0 {
		return errors.New("redis_store: Empty bucket.")
	}
	b.Vals = make([]float64, len(reply))
	for i := range reply {
		numstr := reply[i].([]byte)
		numf, err := strconv.ParseFloat(string(numstr), 64)
		if err == nil {
			b.Vals[i] = numf
		}

	}
	return nil
}