Fixed a bug: saving with not serializable values (RedisAdapter)
This commit is contained in:
parent
83ebf97df3
commit
47f45b1d5e
@ -90,22 +90,23 @@ class RedisAdapter extends AbstractAdapter
|
||||
*/
|
||||
protected function doSave(array $values, $lifetime)
|
||||
{
|
||||
$serialized = array();
|
||||
$failed = array();
|
||||
|
||||
foreach ($values as $id => $v) {
|
||||
try {
|
||||
$values[$id] = serialize($v);
|
||||
$serialized[$id] = serialize($v);
|
||||
} catch (\Exception $e) {
|
||||
$failed[] = $id;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$this->redis->mSet($values)) {
|
||||
if (!$this->redis->mSet($serialized)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($lifetime >= 1) {
|
||||
foreach ($values as $id => $v) {
|
||||
foreach ($serialized as $id => $v) {
|
||||
$this->redis->expire($id, $lifetime);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user