Exemplo n.º 1
0
 /**
  * 批量设置键值(当键名不存在时);<br>
  * 只有当键值全部设置成功时,才返回true,否则返回false并尝试回滚
  * @param array $sets   键值数组
  * @return boolean      是否成功
  */
 public function mSetNX($sets)
 {
     try {
         $keys = [];
         $status = true;
         foreach ($sets as $key => $value) {
             $status = $this->handler->setnx($key, self::setValue($value));
             if ($status) {
                 $keys[] = $key;
             } else {
                 break;
             }
         }
         //如果失败,尝试回滚,但不保证成功
         if (!$status) {
             foreach ($keys as $key) {
                 $this->handler->del($key);
             }
         }
         return (bool) $status;
     } catch (SSDBException $ex) {
         self::exception($ex);
         //连接状态置为false
         $this->isConnected = false;
     }
     return false;
 }
Exemplo n.º 2
0
 *
 * SSDB PHP API demo.
 */
include dirname(__FILE__) . '/SSDB.php';
$host = '127.0.0.1';
$port = 8888;
try {
    $ssdb = new SimpleSSDB($host, $port);
    //$ssdb->easy();
} catch (Exception $e) {
    die(__LINE__ . ' ' . $e->getMessage());
}
var_dump($ssdb->set('test', time()));
var_dump($ssdb->set('test', time()));
echo $ssdb->get('test') . "\n";
var_dump($ssdb->del('test'));
var_dump($ssdb->del('test'));
var_dump($ssdb->get('test'));
echo "\n";
var_dump($ssdb->hset('test', 'b', time()));
var_dump($ssdb->hset('test', 'b', time()));
echo $ssdb->hget('test', 'b') . "\n";
var_dump($ssdb->hdel('test', 'b'));
var_dump($ssdb->hdel('test', 'b'));
var_dump($ssdb->hget('test', 'b'));
echo "\n";
var_dump($ssdb->zset('test', 'a', time()));
var_dump($ssdb->zset('test', 'a', time()));
echo $ssdb->zget('test', 'a') . "\n";
var_dump($ssdb->zdel('test', 'a'));
var_dump($ssdb->zdel('test', 'a'));