/// <summary>
        /// 为指定的 Key 存储指定的值。
        /// </summary>
        /// <param name="key">指定项的 Key。</param>
        /// <param name="value">要存储的值。</param>
        protected override async Task WriteValueCoreAsync(string key, string value)
        {
            value = value.Replace(Environment.NewLine, "\n");
            await DeserializeTask.ConfigureAwait(false);

            KeyValue[key] = value;
        }
        /// <summary>
        /// 将为指定的 Key 清除。
        /// </summary>
        /// <param name="key">指定项的 Key。</param>
        protected override async Task RemoveValueCoreAsync(string key)
        {
            await DeserializeTask.ConfigureAwait(false);

            KeyValue.TryRemove(key, out _);
        }
        /// <summary>
        /// 获取指定 Key 的值,如果不存在,需要返回 null。
        /// </summary>
        /// <param name="key">指定项的 Key。</param>
        /// <returns>
        /// 执行项的 Key,如果不存在,则为 null / Task&lt;string&gt;.FromResult(null)"/>。
        /// </returns>
        protected override async Task <string> ReadValueCoreAsync(string key)
        {
            await DeserializeTask.ConfigureAwait(false);

            return(KeyValue.TryGetValue(key, out var value) ? value : null);
        }
        /// <summary>
        /// 保存到文件
        /// </summary>
        /// <returns></returns>
        public async Task SaveAsync(int tryCount = 10)
        {
            await DeserializeTask.ConfigureAwait(false);

            await _saveLoop.JoinAsync(tryCount);
        }