Class: Memcached::Rails

A legacy compatibility wrapper for the Memcached class. It has basic compatibility with the memcache-client API.

Aliases

Old nameNew name
set_servers servers=
flush flush_all

Attributes

NameRead/write?
logger R

Public Class Methods


new (*args)

See Memcached#new for details.

    # File lib/memcached/rails.rb, line 17
17:     def initialize(*args)
18:       opts = args.last.is_a?(Hash) ? args.pop : {}
19:       servers = Array(
20:         args.any? ? args.unshift : opts.delete(:servers)
21:       ).flatten.compact
22: 
23:       opts[:prefix_key] ||= opts[:namespace]
24:       @logger = opts[:logger]
25:       logger.info { "memcached #{VERSION} #{servers.inspect}" } if logger
26:       super(servers, opts)
27:     end

Public Instance Methods




add (key, value, ttl=@default_ttl, raw=false)

Wraps Memcached#add so that it doesn‘t raise.

    # File lib/memcached/rails.rb, line 72
72:     def add(key, value, ttl=@default_ttl, raw=false)
73:       super(key, value, ttl, !raw)
74:       true
75:     rescue NotStored
76:       false
77:     end

append (*args)

Wraps Memcached#append so that it doesn‘t raise.

     # File lib/memcached/rails.rb, line 98
 98:     def append(*args)
 99:       super
100:     rescue NotStored
101:     end

cas (key, ttl=@default_ttl, raw=false, &block)

Wraps Memcached#cas so that it doesn‘t raise. Doesn‘t set anything if no value is present.

    # File lib/memcached/rails.rb, line 47
47:     def cas(key, ttl=@default_ttl, raw=false, &block)
48:       super(key, ttl, !raw, &block)
49:     rescue NotFound
50:     end


decr (*args)

Wraps Memcached#decr so that it doesn‘t raise.

    # File lib/memcached/rails.rb, line 92
92:     def decr(*args)
93:       super
94:     rescue NotFound
95:     end

delete (key, expiry=0)

Wraps Memcached#delete so that it doesn‘t raise.

    # File lib/memcached/rails.rb, line 80
80:     def delete(key, expiry=0)
81:       super(key)
82:     rescue NotFound
83:     end

get (key, raw=false)

Wraps Memcached#get so that it doesn‘t raise. This has the side-effect of preventing you from storing nil values.

    # File lib/memcached/rails.rb, line 35
35:     def get(key, raw=false)
36:       super(key, !raw)
37:     rescue NotFound
38:     end

get_multi (keys, raw=false)

Wraps Memcached#get.

    # File lib/memcached/rails.rb, line 55
55:     def get_multi(keys, raw=false)
56:       get_orig(keys, !raw)
57:     end

incr (*args)

Wraps Memcached#incr so that it doesn‘t raise.

    # File lib/memcached/rails.rb, line 86
86:     def incr(*args)
87:       super
88:     rescue NotFound
89:     end

logger= (logger)

    # File lib/memcached/rails.rb, line 29
29:     def logger=(logger)
30:       @logger = logger
31:     end

prepend (*args)

Wraps Memcached#prepend so that it doesn‘t raise.

     # File lib/memcached/rails.rb, line 104
104:     def prepend(*args)
105:       super
106:     rescue NotStored
107:     end

read (key, options = {})

Alternative to get. Accepts a key and an optional options hash supporting the single option :raw.

    # File lib/memcached/rails.rb, line 42
42:     def read(key, options = {})
43:       get(key, options[:raw])
44:     end

set (key, value, ttl=@default_ttl, raw=false)

Wraps Memcached#set.

    # File lib/memcached/rails.rb, line 60
60:     def set(key, value, ttl=@default_ttl, raw=false)
61:       super(key, value, ttl, !raw)
62:     end

write (key, value, options = {})

Alternative to set. Accepts a key, value, and an optional options hash supporting the options :raw and :ttl.

    # File lib/memcached/rails.rb, line 66
66:     def write(key, value, options = {})
67:       set(key, value, options[:ttl] || @default_ttl, options[:raw])
68:       true
69:     end