public function lpop(int $timeout = -1)
    {
        if ($timeout >= 0) {
            $ret = $this->redis->blpop($this->key, $timeout)[$this->key];
        } else {
            $ret = $this->redis->lpop($this->key);
        }

        return $this->unSerialize($ret);
    }
public function lpop(int $timeout = -1)
    {
        if ($timeout >= 0) {
            $ret = $this->redis->blpop($this->key, $timeout)[$this->key];
        } else {
            $ret = $this->redis->lpop($this->key);
        }

        return $this->unSerialize($ret);
    }
@param int $timeout   Maximal time in seconds to wait for items to pop. Zero blocks until something becomes
available.
-1 to disable blocking and immediately return null if nothing is available to pop.

@return mixed The removed item from the beginning of the list.
Null in case the key does not contain a list or the timeout was
triggered.