The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Jifty::CAS::Store::Memcached - A memcached backend for Jifty's Content-Addressable Storage facility

SYNOPSIS

At the bare minimum, add the following to your Jifty config.yml:

    framework:
      CAS:
        BaseClass: 'Jifty::CAS::Store::Memcached'

The options available include:

    framework:
      CAS:
        BaseClass: 'Jifty::CAS::Store::Memcached'
        Memcached:
          # any options Cache::Memcached supports
          servers:
            - 10.0.0.2:11211
            - 10.0.0.3:11211
          compress_threshold: 5120

        # Turned on by default. Keeps CAS working when memcached fails by
        # falling back to the default in-process store. It probably should
        # be turned off in most cases (like so) after successful testing.
        MemcachedFallback: 0

DESCRIPTION

This is a memcached backend for Jifty::CAS. For more information about Jifty's CAS, see "DESCRIPTION" in Jifty::CAS.

METHODS

memcached

Returns the Cache::Memcached object for this class.

_store DOMAIN NAME BLOB

Stores the BLOB (a Jifty::CAS::Blob) in memcached. Returns the key on success or undef on failure.

key DOMAIN NAME

Returns the most recent key for the given pair of DOMAIN and NAME, or undef if none such exists.

retrieve DOMAIN KEY

Returns a Jifty::CAS::Blob for the given pair of DOMAIN and KEY, or undef if none such exists.

memcached_config

Returns a hashref containing arguments to pass to Cache::Memcached during construction. The defaults are like:

  {
      servers     => [ '127.0.0.1:11211' ],
      debug       => 0,
      namespace   => Jifty->config->framework('ApplicationName'),
      compress_threshold => 10240,
  }

To change these options, set them in your Jifty application config file under /framework/CAS/Memcached like so:

    framework:
      CAS:
        BaseClass: 'Jifty::CAS::Store::Memcached'
        Memcached:
            servers:
                - 10.0.0.2:11211
                - 10.0.0.3:11211
            compress_threshold: 5120

memcached_fallback

Returns a boolean (from the config file) indicating whether or not memcached should fallback to the per-process, in-memory store.