Google NoSql LevelDB .net 移植版
给C# .NET 的兄弟们做点小贡献 - NoSql LevelDB .net 移植版 普通PC 100万条数据插入不超过4秒
给C# .NET 兄弟们做点小贡献 - NoSql LevelDB .net 移植版 普通PC 100万条数据插入不超过4秒
支持多线程,并发安全
解决方案下载地址:
http://pan.baidu测试数据/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://HdhCmsTestcnblogs测试数据/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于Google NoSql LevelDB .net 移植版的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did45873