Class: Rhcf::Timeseries::RedisMgetStrategy

Inherits:
RedisStringBasedStrategy show all
Defined in:
lib/rhcf/timeseries/redis_strategies.rb

Direct Known Subclasses

RedisMgetLuaStrategy

Instance Method Summary collapse

Methods inherited from RedisStringBasedStrategy

#events_for_subject_on, #store_point_event, #store_point_value

Instance Method Details

#crunch_values(manager, subject, resolution_id, point, filter, limit = 100) ⇒ Object



59
60
61
62
# File 'lib/rhcf/timeseries/redis_strategies.rb', line 59

def crunch_values(manager, subject, resolution_id, point, filter, limit = 100)
  events = events_for_subject_on(manager, subject, point, resolution_id, filter)
  mget(manager, EVENT_POINT_TOKEN, subject, resolution_id, point, events)
end

#idObject



55
56
57
# File 'lib/rhcf/timeseries/redis_strategies.rb', line 55

def id
  'M'
end

#mget(manager, k, s, r, p, es) ⇒ Object



64
65
66
67
68
69
70
71
72
73
# File 'lib/rhcf/timeseries/redis_strategies.rb', line 64

def mget(manager, k, s, r, p, es)
  return {} if es.empty?
  keys = es.map{|e| [manager.prefix, k, s, r, p, e].flatten.join(NAMESPACE_SEPARATOR)}
  values = manager.connection_to_use.mget(*keys)
  data = {}
  keys.each_with_index do |key, index|
    data[es[index]] = values[index].to_i
  end
  data
end