队列服务

队列的用处就不用多说了,v2.5.11中封装了统一的队列接口。目前封装了Redis驱动。默认使用default_cache中配置的redis。

驱动配置

  1. //v2.7+
  2. \Cml::getContainer()->singleton('cml_queue', \Cml\Queue\Redis::class);

用法

  1. \Cml\Quene::getQueue();获取驱动实例
  2. \Cml\Quene::getQueue('default_cache');获取驱动实例并指定使用的缓存配置
可通过修改配置文件中'queue_use_cache' => 'default_cache',修改只有在该缓存的驱动为redis的时候才有效,否则会报错。

目前封装的api:

  1. /**
  2. * 从列表头入队
  3. *
  4. * @param string $name
  5. * @param mixed $data
  6. *
  7. * @return mixed
  8. */
  9. public function lPush($name, $data)
  1. /**
  2. * 从列表头出队
  3. *
  4. * @param string $name
  5. *
  6. * @return mixed
  7. */
  8. public function lPop($name)
  1. /**
  2. * 从列表尾入队
  3. *
  4. * @param string $name
  5. * @param mixed $data
  6. *
  7. * @return mixed
  8. */
  9. public function rPush($name, $data)
  1. /**
  2. * 从列表尾出队
  3. *
  4. * @param string $name
  5. *
  6. * @return mixed
  7. */
  8. public function rPop($name)
  1. /**
  2. * 弹入弹出
  3. *
  4. * @param string $from
  5. * @param string $to
  6. *
  7. * @return mixed
  8. */
  9. public function rPopLpush($from, $to)

原文: http://doc.cmlphp.com/devintro/quenue.html