---
name: "Jifty::CAS::Store::Memcached"
section: "3pm"
platform: "linux"
package: "libjifty-perl"
version: "1.10518+dfsg-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Jifty::CAS::Store::Memcached"
---

# Jifty::CAS::Store::Memcached(3pm)

A memcached backend for Jifty's Content-Addressable Storage facility

## 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.
