From 2a50c3a1fb4b91af1fd353c06c1966c5c72fe403 Mon Sep 17 00:00:00 2001 From: mark_story Date: Sun, 15 Aug 2010 22:40:55 -0400 Subject: [PATCH] Removing time manipulation so its possible to create memcache entries that do not expire. Updating documentation about the peculiarities of memcache. Refs #871 --- cake/libs/cache/memcache.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/cake/libs/cache/memcache.php b/cake/libs/cache/memcache.php index 93f99b08a..760c83384 100644 --- a/cake/libs/cache/memcache.php +++ b/cake/libs/cache/memcache.php @@ -20,7 +20,9 @@ */ /** - * Memcache storage engine for cache + * Memcache storage engine for cache. Memcache has some limitations in the amount of + * control you have over expire times far in the future. See MemcacheEngine::write() for + * more information. * * @package cake * @subpackage cake.cake.libs.cache @@ -95,17 +97,20 @@ class MemcacheEngine extends CacheEngine { } /** - * Write data for key into cache + * Write data for key into cache. When using memcache as your cache engine + * remember that the Memcache pecl extension does not support cache expiry times greater + * than 30 days in the future. If you wish to create cache entries that do not expire, set the duration + * to `0` in your cache configuration. * * @param string $key Identifier for the data * @param mixed $value Data to be cached * @param integer $duration How long to cache the data, in seconds * @return boolean True if the data was succesfully cached, false on failure + * @see http://php.net/manual/en/memcache.set.php * @access public */ function write($key, &$value, $duration) { - $expires = time() + $duration; - return $this->__Memcache->set($key, $value, $this->settings['compress'], $expires); + return $this->__Memcache->set($key, $value, $this->settings['compress'], $duration); } /**