public function add($key, $value, $ttl = 259200, $tags = NULL)
{
$redis_key = $this->prefix . $key;
$ttl = intval($ttl);
if (!is_scalar($value)) {
$set = $this->redis->SetNX($redis_key, serialize($value));
if (!$set) {
return false;
}
$this->setKeySerialization(true, $key, $ttl);
} else {
$set = $this->redis->SetNX($redis_key, $value);
if (!$set) {
return false;
}
$this->setKeySerialization(false, $key, $ttl);
}
if ($ttl > 0) {
$this->redis->Expire($redis_key, $ttl);
}
if (!empty($tags)) {
$this->setTags($key, $tags);
}
return true;
}