Method: Dalli::Client#get_multi

Defined in:
lib/dalli/client.rb

#get_multi(*keys) ⇒ Object

Fetch multiple keys efficiently. If a block is given, yields key/value pairs one at a time. Otherwise returns a hash of { ‘key’ => ‘value’, ‘key2’ => ‘value1’ }



98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/dalli/client.rb', line 98

def get_multi(*keys)
  keys.flatten!
  keys.compact!

  return {} if keys.empty?

  if block_given?
    pipelined_getter.process(keys) { |k, data| yield k, data.first }
  else
    {}.tap do |hash|
      pipelined_getter.process(keys) { |k, data| hash[k] = data.first }
    end
  end
end