protected function addValue($key, $value, $expire)
    {
        $this->gc();

        if ($expire > 0) {
            $expire += time();
        } else {
            $expire = 0;
        }

        try {
            $this->db->getCollection($this->cacheCollection)
                ->insert([
                    'id' => $key,
                    'expire' => $expire,
                    'data' => $value,
                ]);

            return true;
        } catch (\Exception $e) {
            return false;
        }
    }