diff --git a/lib/SimpleSAML/Memcache.php b/lib/SimpleSAML/Memcache.php index 223de710a064e9dd89588a604f38a61b458fb982..9dbbe5f1dfd42d37acf5d78ef6f3b587e2da3664 100644 --- a/lib/SimpleSAML/Memcache.php +++ b/lib/SimpleSAML/Memcache.php @@ -116,18 +116,23 @@ class SimpleSAML_Memcache { * * @param $key The key of the data. * @param $value The value of the data. + * @param int|NULL $expire The expiration timestamp of the data. */ - public static function set($key, $value) { + public static function set($key, $value, $expire = NULL) { $savedInfo = array( 'timestamp' => microtime(TRUE), 'data' => $value ); + if ($expire === NULL) { + $expire = self::getExpireTime(); + } + $savedInfoSerialized = serialize($savedInfo); /* Store this object to all groups of memcache servers. */ foreach(self::getMemcacheServers() as $server) { - $server->set($key, $savedInfoSerialized, 0, self::getExpireTime()); + $server->set($key, $savedInfoSerialized, 0, $expire); } }