Module: Legion::Cache::Pool

Included in:
Memcached, Redis
Defined in:
lib/legion/cache/pool.rb

Instance Method Summary collapse

Instance Method Details

#availableObject



22
23
24
# File 'lib/legion/cache/pool.rb', line 22

def available
  client.available
end

#closeObject



26
27
28
29
30
# File 'lib/legion/cache/pool.rb', line 26

def close
  client.shutdown(&:close)
  @client = nil
  @connected = false
end

#connected?Boolean

Returns:

  • (Boolean)


6
7
8
# File 'lib/legion/cache/pool.rb', line 6

def connected?
  @connected ||= false
end

#pool_sizeObject



18
19
20
# File 'lib/legion/cache/pool.rb', line 18

def pool_size
  @pool_size ||= Legion::Settings[:cache][:pool_size] || 10
end

#restart(**opts) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/legion/cache/pool.rb', line 32

def restart(**opts)
  close
  @client = nil
  client_hash = opts
  client_hash[:pool_size] = opts[:pool_size] if opts.key? :pool_size
  client_hash[:timeout] = opts[:timeout] if opts.key? :timeout
  client(**client_hash)
  @connected = true
end

#sizeObject



10
11
12
# File 'lib/legion/cache/pool.rb', line 10

def size
  client.size
end

#timeoutObject



14
15
16
# File 'lib/legion/cache/pool.rb', line 14

def timeout
  @timeout ||= Legion::Settings[:cache][:timeout] || 5
end