Redis 鍵(Keys)
Redis 鍵命令用于管理 redis 的鍵。
操作方法
方法列表
方法名稱 | 參數 | 說明 | 備注 |
---|---|---|---|
del | ...$keys | 刪除一個鍵 | $key可傳一個array,也可以傳多個可變參數 |
unlink | ...$keys | 非阻塞刪除一個鍵 | $key可傳一個array,也可以傳多個可變參數 |
dump | $key | 序列化 | |
exists | $key | 查詢是否存在 | |
expire | $key, $expireTime = 60 | 給key設定過期時間(秒) | |
expireAt | $key, $expireTime | 以UNIX時間戳格式設置key的過期時間 | expireAt的作用和expire類似,都用于為key設置過期時間。 不同在于expireAt命令接受的時間參數是UNIX時間戳(unix timestamp)。At,顧名思義,在未來的某個時間點過期 |
pExpire | $key, $expireTime = 60000 | 給key設定過期時間(毫秒) | |
keys | $pattern | 匹配key | |
move | $key, $db | 移動key | 集群模式不能使用 |
persist | $key | 移除key的過期時間 | |
pTTL | $key | 返回毫秒過期時間 | |
ttl | $key | 返回過期時間 | |
randomKey | 隨機返回一個key | ||
rename | $key, $new_key | 修改key的名字 | 集群模式不能使用 |
renameNx | $key, $new_key | newkey不存在時,修改key名字 | 集群模式不能使用 |
type | $key | 返回key儲存的數據類型 |
del和unlink都可以傳一個數組,或者傳 ...數組(可變參數),如果第一個參數為數組,則后面的參數全部將忽略
在集群中,del和unlink都是拆分key,判斷key的solt進行一個個執(zhí)行
基本使用
go(function () {
$redis = new \EasySwoole\Redis\Redis(new \EasySwoole\Redis\Config\RedisConfig([
'host' => '127.0.0.1',
'port' => '6379',
'auth' => 'easyswoole',
'serialize' => \EasySwoole\Redis\Config\RedisConfig::SERIALIZE_NONE
]));
$key = 'test123213Key';
$redis->select(0);
$redis->set($key, 123);
$data = $redis->dump($key);
var_dump($data);
$data = $redis->dump($key . 'x');
var_dump($data);
$data = $redis->exists($key);
var_dump($data);
$data = $redis->expire($key, 1);
var_dump($data);
\Swoole\Coroutine::sleep(2);
var_dump($redis->exists($key));
$redis->expireAt($key, 1593570849);
\Swoole\Coroutine::sleep(1);
var_dump($redis->exists($key));
$redis->pExpire($key, 1 * 100);
\Swoole\Coroutine::sleep(0.1);
var_dump($redis->exists($key));
$redis->set($key, 123);
$data = $redis->keys("{$key}");
var_dump($data);
$redis->select(1);
$redis->del($key);
$redis->select(0);
$data = $redis->move($key, 1);
var_dump($data);
$data = $redis->exists($key);
var_dump($data);
$redis->select(0);
$redis->set($key, 123);
$data = $redis->expire($key, 1);
var_dump($data);
$data = $redis->persist($key);
var_dump($data);
$redis->expire($key, 1);
$data = $redis->pTTL($key);
var_dump($data);
$data = $redis->ttl($key);
var_dump($data);
$data = $redis->randomKey();
var_dump($data);
$data = $redis->rename($key, $key . 'new');
var_dump($data);
var_dump($redis->expire($key . 'new'));
var_dump($redis->expire($key));
$data = $redis->renameNx($key, $key . 'new');
var_dump($data);
$redis->renameNx($key . 'new', $key);
$data = $redis->renameNx($key, $key . 'new');
var_dump($data);
$data = $redis->type($key);
var_dump($data);
$data = $redis->type($key . 'new');
var_dump($data);
$data = $redis->del($key);
var_dump($data);
$data = $redis->del('a','b','c');
var_dump($data);
$data = $redis->del(['a','b','c']);
var_dump($data);
$data = $redis->unlink($key);
var_dump($data);
$data = $redis->unlink('a','b','c');
var_dump($data);
$data = $redis->unlink(['a','b','c']);
var_dump($data);
});