public function lpushx($value, ...$values)
    {
        if (empty($values)) {
            return $this->redis->lpushx($this->key, $this->serialize($value));
        }
        array_unshift($values, $value);

        $this->redis->multi();
        foreach ($values as $insert) {
            $this->redis->lpushx($this->key, $this->serialize($insert));
        }

        return $this->redis->exec();
    }
public function lpushx($value, ...$values)
    {
        if (empty($values)) {
            return $this->redis->lpushx($this->key, $this->serialize($value));
        }
        array_unshift($values, $value);

        $this->redis->multi();
        foreach ($values as $insert) {
            $this->redis->lpushx($this->key, $this->serialize($insert));
        }

        return $this->redis->exec();
    }
@param mixed $value First value to be inserted.
@param array<int, mixed> $values,... More values to be inserted.

@return int|int[] The length of the list after each push operation.
("?pushx" does not allow variadic inputs, so we use transactions to make it possible)