Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
PHP
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib/cache
test
.gitignore
LICENSE
README.md
package.xml

README.md

sfRedisCachePlugin

Redis is key/value persistent database. It's faster than APC, distributed like Memcache and most of all, it's not volatile. On server restart, or shutdown, data will remain and even better, the lifetime of cached data is still calculated.

This plugin intends to make Redis server usable as a cache backend method for your factories, or directly, within your code.

Notice: despite the cache backend accepts a compiled Redis class, it requires to have at least the expire method.

Licence

see LICENSE file

Requirements

You need to have at least a decent Redis PHP class supporting those methods:

  • connect
  • delete
  • exists
  • expire
  • get
  • keys
  • mget
  • ping
  • set

So far, it has been unit-tested with the debian package libphp-redis. You can find out some other − yet unsupported − libraries:

Installation

You can install easily the plugin through symfony CLI: symfony plugin:install sfRedisCachePlugin

Or through SVN repository by adding the following svn:external: sfRedisCachePlugin http://svn.symfony-project.com/plugins/sfRedisCachePlugin/trunk/

Notice: the trunk will one day branched if any compatibility issues appears.

Usage

The main purpose of sfRedisCachePlugin is to use it as a cache backend for your factories.yml. For example:

view_cache:
  class: sfRedisCache
  param:
    host:                      127.0.0.1
    mode:                      shared
    port:                      6379
    prefix:                    %SF_APP_DIR%/template

As the class extends sfCache class, it follows the same usage.

Configuration

The class accepts some option parameters:

  • class': the Redis class we try to load (default to Redis)
  • mode: Defines if we work with the "compiled" (faster) or "shared" (easier) library (default to "shared")
  • host: The default server (default to 127.0.0.1)
  • port: The default port (default to 6379)
  • redis: a redis object (not mandatory)

Todo-list

  • Support for clustering
  • Include autoloader
Something went wrong with that request. Please try again.