Пример #1
0
 public function write($key, $value, $timeout = 0)
 {
     Sabel_Db_Transaction::activate();
     try {
         if ($timeout !== 0) {
             $timeout = time() + $timeout;
         }
         $value = str_replace("", "\\000", serialize($value));
         if ($model = $this->fetch($key, true)) {
             $model->save(array("value" => $value, "timeout" => $timeout));
         } else {
             $this->model->insert(array("key" => $key, "value" => $value, "timeout" => $timeout));
         }
         Sabel_Db_Transaction::commit();
     } catch (Exception $e) {
         Sabel_Db_Transaction::rollback();
         throw $e;
     }
 }