Google NoSql LevelDB .net 移植版
给C# .NET 的兄弟们做点小贡献 - NoSql LevelDB .net 移植版 普通PC 100万条数据插入不超过4秒
给C# .NET 兄弟们做点小贡献 - NoSql LevelDB .net 移植版 普通PC 100万条数据插入不超过4秒
支持多线程,并发安全
解决方案下载地址:
http://pan.baidu.com/share/link?shareid=508379&uk=201606611
有任何疑问请联系:QQ交流群 204725117
LevelDB 是一个由Google公司所研发的键/值对(Key/Value Pair)嵌入式数据库管理系统编程库,[1] 以开源的BSD许可证发布。
高性能,简单的体系结构:只支持API调用,不支持SQL语言
自由软件和开放源代码软件
数据支持被Snappy函式库压缩,以减少Disk I/O提升效能
目前仅支持 Linux 完全由C++开发,支持TB级数据,本项目将其移植到windows 及 .net 平台上!
调用代码范例:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using WebSystem.Framework.DAO.LevelDB; namespace LevelDbDemo { class Program { static DB Database { get ; set ; } static string DatabasePath { get ; set ; } static void Main( string [] args) { var tempPath = Path.GetTempPath(); var randName = Path.GetRandomFileName(); DatabasePath = Path.Combine(tempPath, randName); Cache c = new Cache( 100 * 1024 * 1024 ); var options = new Options() { BlockCache = c, CreateIfMissing = true , }; Database = new DB(options, " mylevel.db " ); // 开始时间 TimeSpan runTime = new TimeSpan(DateTime.Now.Ticks); // 循环插入 100万 k,v for ( int i = 0 ; i < 1000000 ; i++ ) { Database.Put(i.ToString(), i.ToString() + " A " ); } // 迭代取所有数据 // var entries = new List<KeyValuePair<string, string>>(); // try // { // foreach (var entry in Database) // { // entries.Add(entry); // } // } // catch { } // 取某一个key 的 值 string value = Database.Get( " 123455 " ); // 大约 0.00X 几秒 // 结束时间 TimeSpan timeNow = new TimeSpan(DateTime.Now.Ticks); // 时间间隔 TimeSpan ts = timeNow.Subtract(runTime).Duration(); Console.WriteLine( " 用时: " + ts.TotalSeconds.ToString() + " 秒 " + ts.TotalMilliseconds.ToString() + " 毫秒 " ); } } }
版权所有: 云寻觅开发团队
标签: 云寻觅 , nosql , leveldb , 分布式KV存储
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于Google NoSql LevelDB .net 移植版的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did45873