Exemple #1
0
        /// <summary>
        /// 设置指定键的值。
        /// </summary>
        /// <param name="key">键。</param>
        /// <param name="value">值。</param>
        /// <param name="sync">指示是否同步操作。</param>
        public LDB Set(BinaryValue key, BinaryValue value, bool sync = false)
        {
            this.ThrowIfDisposed();

            var    options = new WriteOptions(sync);
            IntPtr error;
            var    keyData   = key.ByteArray;
            var    valueData = value.ByteArray;

            LevelDBInterop.leveldb_put(this._handle, options._handle, keyData, (IntPtr)keyData.LongLength, valueData, (IntPtr)valueData.LongLength, out error);
            LevelDBException.Check(error);
            GC.KeepAlive(options);
            GC.KeepAlive(this);
            return(this);
        }