Sha256: 6c891255d8562c93902f8e31357f3fa680bbf3c5fab737a0c733252053ffce0c
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
class Memcached module Experimental # TOUCH is used to set a new expiration time for an existing item def touch(key, ttl=@default_ttl) check_return_code( Lib.memcached_touch(@struct, key, ttl), key ) rescue => e tries ||= 0 raise unless should_retry(tries, e) tries += 1 retry end def get_len(bytes, keys) if keys.is_a? ::Array # Multi get ret = Lib.memcached_mget_len(@struct, keys, bytes); check_return_code(ret, keys) hash = {} loop do value, key, flags, ret = Lib.memcached_fetch_rvalue(@struct) break if value.nil? || ret == Lib::MEMCACHED_END if ret == Lib::MEMCACHED_SUCCESS hash[key] = value elsif ret != Lib::MEMCACHED_NOTFOUND check_return_code(ret, key) end end hash else # Single get_len value, flags, ret = Lib.memcached_get_len_rvalue(@struct, keys, bytes) check_return_code(ret, keys) value end rescue => e tries ||= 0 raise unless should_retry(tries, e) tries += 1 retry end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
couchbase-memcached-1.2.9 | lib/memcached/experimental.rb |
couchbase-memcached-1.2.8 | lib/memcached/experimental.rb |