module Dalli::KeysMatch::Server
Public Instance Methods
close_telnet!()
click to toggle source
# File lib/dalli/keys_match.rb, line 33 def close_telnet! return unless @telnet @telnet.close @telnet = nil end
stats_cachedump(id, size, pattern = nil)
click to toggle source
Memcached does not implement binary protocol for cachedump key. Using telnet as workaround github.com/memcached/memcached/wiki/BinaryProtocolRevamped#stat
# File lib/dalli/keys_match.rb, line 18 def stats_cachedump(id, size, pattern = nil) [].tap do |keys| telnet.cmd("String" => "stats cachedump #{id} #{size}").split("\n").each do |line| if /ITEM (.+) \[\d+ b; \d+ s\]/ =~ line if pattern.nil? keys << $1 else cache_key = $1 keys << cache_key if cache_key =~ pattern end end end end end
Protected Instance Methods
telnet()
click to toggle source
# File lib/dalli/keys_match.rb, line 41 def telnet @telnet ||= begin configs = Dalli::KeysMatch.config.telnet( 'Host' => hostname, 'Port' => port ) Net::Telnet.new(configs) end end