class Memcache::Base
Attributes
prefix[RW]
Public Instance Methods
add(key, value, expiry = 0, flags = 0)
click to toggle source
# File lib/memcache/base.rb, line 32 def add(key, value, expiry = 0, flags = 0) return nil if get(key) set(key, value, expiry) end
append(key, value)
click to toggle source
# File lib/memcache/base.rb, line 47 def append(key, value) existing = get(key) return false if existing.nil? set(key, existing[:value] + value) && true end
cas(key, value, cas, expiry = 0, flags = 0)
click to toggle source
# File lib/memcache/base.rb, line 37 def cas(key, value, cas, expiry = 0, flags = 0) # No cas implementation yet, just do a set for now. set(key, value, expiry, flags) end
clear()
click to toggle source
# File lib/memcache/base.rb, line 5 def clear flush_all end
decr(key, amount = 1)
click to toggle source
# File lib/memcache/base.rb, line 28 def decr(key, amount = 1) incr(key, -amount) end
gets(keys)
click to toggle source
Default implementations based on get and set.
# File lib/memcache/base.rb, line 11 def gets(keys) get(keys, true) end
incr(key, amount = 1)
click to toggle source
# File lib/memcache/base.rb, line 15 def incr(key, amount = 1) result = get(key) return unless result value = result[:value] return unless value =~ /^\d+$/ value = value.to_i + amount value = 0 if value < 0 set(key, value.to_s) value end
prepend(key, value)
click to toggle source
# File lib/memcache/base.rb, line 53 def prepend(key, value) existing = get(key) return false if existing.nil? set(key, value + existing[:value]) && true end
replace(key, value, expiry = 0, flags = 0)
click to toggle source
# File lib/memcache/base.rb, line 42 def replace(key, value, expiry = 0, flags = 0) return nil if get(key).nil? set(key, value, expiry) end
Protected Instance Methods
cache_key(key)
click to toggle source
# File lib/memcache/base.rb, line 61 def cache_key(key) raise Memcache::Error, "length zero key not permitted" if key.length == 0 key = "#{prefix}#{key}" raise Memcache::Error, "key too long #{key.inspect}" if key.length > 250 key end