Module: Memcached
- Defined in:
- lib/memcached.rb
Class Method Summary collapse
- .items(*_servers) ⇒ Object
- .keys(*_servers) ⇒ Object
- .server_items(_host = 'host', _port = 11211) ⇒ Object
Class Method Details
.items(*_servers) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/memcached.rb', line 4 def self.items(*_servers) servers = _servers.collect {|s| s.split(':')} all_rows = servers.collect do |server| server_rows = server_items(*server) do |slab_id, expires_time, bytes, cache_key, cache_key_length, host, port| {:id=>slab_id, :expires=>expires_time, :bytes=>bytes, :name=>cache_key, :server=>[host,port].join(':')} end server_rows end.flatten(1) return all_rows end |
.keys(*_servers) ⇒ Object
32 33 34 35 |
# File 'lib/memcached.rb', line 32 def self.keys(*_servers) items = self.items(*_servers) items.collect { |i| CGI.unescape(i[0]) }.sort end |
.server_items(_host = 'host', _port = 11211) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/memcached.rb', line 16 def self.server_items(_host='host', _port=11211) keys = [] host = Net::Telnet::new("Host" => _host, "Port" => _port, "Timeout" => 1) host.cmd("String" => "lru_crawler metadump all", "Match" => /^END/) do |row| row.scan(/key=(\S*)/) do |key| keys << key end end host.close rescue Exception puts "Could not get memcache items from #{_host}:#{_port}" ensure return keys end |