/** * 批量设置键值(当键名不存在时);<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; }
* * 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'));