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_keynewkey不存在时,修改key名字集群模式不能使用
type$key返回key储存的数据类型

del和unlink都可以传一个数组,或者传 …数组(可变参数),如果第一个参数为数组,则后面的参数全部将忽略

在集群中,del和unlink都是拆分key,判断key的solt进行一个个执行

基本使用

  1. go(function () {
  2. $redis = new \EasySwoole\Redis\Redis(new \EasySwoole\Redis\Config\RedisConfig([
  3. 'host' => '127.0.0.1',
  4. 'port' => '6379',
  5. 'auth' => 'easyswoole',
  6. 'serialize' => \EasySwoole\Redis\Config\RedisConfig::SERIALIZE_NONE
  7. ]));
  8. $key = 'test123213Key';
  9. $redis->select(0);
  10. $redis->set($key, 123);
  11. $data = $redis->dump($key);
  12. var_dump($data);
  13. $data = $redis->dump($key . 'x');
  14. var_dump($data);
  15. $data = $redis->exists($key);
  16. var_dump($data);
  17. $data = $redis->expire($key, 1);
  18. var_dump($data);
  19. \Swoole\Coroutine::sleep(2);
  20. var_dump($redis->exists($key));
  21. $redis->expireAt($key, 1593570849);
  22. \Swoole\Coroutine::sleep(1);
  23. var_dump($redis->exists($key));
  24. $redis->pExpire($key, 1 * 100);
  25. \Swoole\Coroutine::sleep(0.1);
  26. var_dump($redis->exists($key));
  27. $redis->set($key, 123);
  28. $data = $redis->keys("{$key}");
  29. var_dump($data);
  30. $redis->select(1);
  31. $redis->del($key);
  32. $redis->select(0);
  33. $data = $redis->move($key, 1);
  34. var_dump($data);
  35. $data = $redis->exists($key);
  36. var_dump($data);
  37. $redis->select(0);
  38. $redis->set($key, 123);
  39. $data = $redis->expire($key, 1);
  40. var_dump($data);
  41. $data = $redis->persist($key);
  42. var_dump($data);
  43. $redis->expire($key, 1);
  44. $data = $redis->pTTL($key);
  45. var_dump($data);
  46. $data = $redis->ttl($key);
  47. var_dump($data);
  48. $data = $redis->randomKey();
  49. var_dump($data);
  50. $data = $redis->rename($key, $key . 'new');
  51. var_dump($data);
  52. var_dump($redis->expire($key . 'new'));
  53. var_dump($redis->expire($key));
  54. $data = $redis->renameNx($key, $key . 'new');
  55. var_dump($data);
  56. $redis->renameNx($key . 'new', $key);
  57. $data = $redis->renameNx($key, $key . 'new');
  58. var_dump($data);
  59. $data = $redis->type($key);
  60. var_dump($data);
  61. $data = $redis->type($key . 'new');
  62. var_dump($data);
  63. $data = $redis->del($key);
  64. var_dump($data);
  65. $data = $redis->del('a','b','c');
  66. var_dump($data);
  67. $data = $redis->del(['a','b','c']);
  68. var_dump($data);
  69. $data = $redis->unlink($key);
  70. var_dump($data);
  71. $data = $redis->unlink('a','b','c');
  72. var_dump($data);
  73. $data = $redis->unlink(['a','b','c']);
  74. var_dump($data);
  75. });