- 浏览: 752721 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (1081)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (0)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (0)
- [网站分类]4.其他技术区 (0)
- [网站分类]5.企业信息化 (0)
- [网站分类]6.读书心得区(技术书籍阅读心得、书籍推荐) (0)
- [网站分类]7.提问区(.NET技术方面的提问) (2)
- [网站分类]8.技术转载区(.NET技术文章转载, 请注明原文出处) (0)
- [网站分类]9.求职招聘区(个人求职、企业招聘) (0)
- [网站分类]Dottext区 (0)
- [网站分类]GIS技术 (0)
- [网站分类]IT英才专区(IT职场交流) (0)
- [网站分类]SharePoint (0)
- [网站分类]博客园.NET俱乐部(俱乐部组织与活动方面的文章) (0)
- [网站分类]软件发布区(发布自己开发的代码、软件) (0)
- [网站分类]网站管理区(网站管理方面的疑问、建议、意见, 寻求管理员帮助) (0)
- [网站分类]业界新闻 (1)
- 技术 (1)
- [随笔分类]生活感悟 (10)
- [随笔分类]C# (30)
- [随笔分类]AjaxPro教程 (3)
- [发布至博客园首页] (5)
- [随笔分类]简历 (0)
- [随笔分类]Linux (2)
- [随笔分类]技术聚会 (2)
- [随笔分类]ORM (1)
- [随笔分类]php (1)
- [随笔分类]创业 (1)
- [随笔分类]奇技淫巧 (1)
- [随笔分类]计划 (1)
- [随笔分类]架构&分层 (1)
- [随笔分类]整合行销 (1)
- [随笔分类]mac (1)
- [网站分类].NET新手区 (45)
- [网站分类]非技术区 (5)
- [网站分类]招聘区 (0)
- [随笔分类]单元测试 (1)
- [网站分类]其他技术区 (3)
- [网站分类]代码与软件发布 (6)
- [网站分类]提问区 (24)
- [随笔分类]ASP.NET (2)
- [随笔分类]FAQ (12)
- [随笔分类]开发人员工具 (1)
- [随笔分类]朗志轻量级项目管理解决方案 (1)
- [网站分类]读书区 (1)
最新评论
-
天使建站:
写和乱七八糟的 不知道从哪复制过来的 还是看这里吧j ...
jquery数组 -
hyn450:
你好,我最近也想了解一下竞争情报。不知道能不能交流一下呢 ?
最近的工作 -
lattimore:
这个连接打不开了阿!
使用vnc连ubuntu desktop -
MZhangShao:
奉劝你一句,以后在Ubuntu 用apt-get安装成功的软件 ...
关于xrdp的安装设置 -
f002489:
strftime
python下datetime类型的转换
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--> 1
using System;
2
using System.Collections.Generic;
3
using System.IO;
4
using System.Linq;
5
using System.Runtime.Serialization.Formatters.Binary;
6
using System.Text;
7
using BerkeleyDb;
8
using Component;
9
10
namespace ToolManager
11

{
12
public class BDBRecord
13
{
14
public object Key
{ get; set; }
15
public string Value
{ get; set; }
16
} /**//// <summary>
17
/// BDB数据库操作类库
18
/// </summary>
19
public class BDBHelper
20
{
21
22
private string DBFilePath
{ get; set; }
23
private DBStoreType DBType
{ get; set; }
24
public enum DBStoreType : byte
25
{
26
Auto=1,
27
Queue,
28
Hash
29
}
30
[Obsolete("该构造函数已废弃 ,请使用BDBHelper(string dbfilePath)")]
31
public BDBHelper()
32
{
33
}
34
35
public BDBHelper(string dbfilePath)
36
{
37
this.DBFilePath = dbfilePath;
38
}
39
[Obsolete("该构造函数已废弃 ,请使用BDBHelper(string dbfilePath)")]
40
public BDBHelper(string dbfilePath, DBStoreType type)
41
{
42
this.DBFilePath = dbfilePath;
43
this.DBType = type;
44
}
45
public BDBRecord FindOne()
46
{
47
return this.FindOne(null);
48
}
49
public BDBRecord FindOne(Func<object, string, bool> predicate)
50
{
51
//Dictionary<string, object> dict = new Dictionary<string, object>();
52
try
53
{
54
Queue格式#region Queue格式
55
//if (this.DBType == DBStoreType.Queue)
56
//{
57
using (Db db = new Db(DbCreateFlags.None))
58
{
59
db.RecLen = 5000;
60
db.RecPad = '.';
61
DbQueue file = (DbQueue)db.Open(null, this.DBFilePath, null, DbType.Queue, Db.OpenFlags.Create, 0);
62
using (DbQueueCursor cursor = file.OpenCursor(null, DbFileCursor.CreateFlags.None))
63
{
64
foreach (KeyDataPair kvp in cursor)
65
{
66
BinaryFormatter bf = new BinaryFormatter();
67
MemoryStream stream = new MemoryStream();
68
stream.Write(kvp.Data.Buffer, 0, kvp.Data.Size);
69
stream.Seek(0, SeekOrigin.Begin);
70
string k = BitConverter.ToInt32(kvp.Key.Buffer, 0).ToString();
71
object v = bf.Deserialize(stream);
72
if (predicate == null)
73
{
74
return new BDBRecord()
{ Key = v, Value = k };
75
}
76
else if (predicate(v, k))
77
{
78
return new BDBRecord()
{ Key = v, Value = k };
79
}
80
}
81
}
82
}
83
//}
84
#endregion
85
}
86
catch (Exception ex)
87
{
88
Hash格式#region Hash格式
89
//else if(this.DBType==DBStoreType.Hash)
90
//{
91
//遍历数据
92
using (Db db = new Db(DbCreateFlags.None))
93
{
94
//这里如果应用Db.OpenFlags.Create则在启动后会覆盖同名文件,并新建同名文件
95
//Db.OpenFlags.Truncate会清空数据库
96
DbHash dbf = (DbHash)db.Open(null, this.DBFilePath, null, DbType.Hash,
97
Db.OpenFlags.ThreadSafe, 0);
98
99
using (DbHashCursor cursor = dbf.OpenCursor(null, DbFileCursor.CreateFlags.None))
100
{
101
foreach (KeyDataPair kvp in cursor)
102
{
103
BinaryFormatter bf = new BinaryFormatter();
104
MemoryStream stream = new MemoryStream();
105
stream.Write(kvp.Data.Buffer, 0, kvp.Data.Size);
106
stream.Seek(0, SeekOrigin.Begin);
107
string k = Encoding.UTF8.GetString(kvp.Key.Buffer, 0, kvp.Key.Size);
108
object v = bf.Deserialize(stream);
109
if (predicate == null)
110
{
111
return new BDBRecord()
{ Key = v, Value = k };
112
}
113
else if (predicate(v, k))
114
{
115
return new BDBRecord()
{ Key = v, Value = k };
116
}
117
}
118
}
119
}
120
#endregion
121
//}
122
}
123
//return dict;
124
return null;
125
}
126
public Dictionary<object, string> FindAll(Func<object, string, bool> predicate)
127
{
128
129
Dictionary<object, string> dict = new Dictionary<object, string>();
130
try
131
{
132
Queue格式#region Queue格式
133
//if (this.DBType == DBStoreType.Queue)
134
//{
135
using (Db db = new Db(DbCreateFlags.None))
136
{
137
db.RecLen = 5000;
138
db.RecPad = '.';
139
DbQueue file = (DbQueue)db.Open(null, this.DBFilePath, null, DbType.Queue, Db.OpenFlags.Create, 0);
140color: #000

2

3

4

5

6

7

8

9

10

11



12

13



14



15



16


17

18

19

20



21

22



23



24

25



26

27

28

29

30

31

32



33

34

35

36



37

38

39

40

41



42

43

44

45

46



47

48

49

50



51

52

53



54


55

56

57

58



59

60

61

62

63



64

65



66

67

68

69

70

71

72

73



74



75

76

77



78



79

80

81

82

83

84

85

86

87



88


89

90

91

92

93



94

95

96

97

98

99

100



101

102



103

104

105

106

107

108

109

110



111



112

113

114



115



116

117

118

119

120

121

122

123

124

125

126

127



128

129

130

131



132


133

134

135

136



137

138

139

140color: #000
发表评论
-
关于分层架构中的业务实体层的使用一直不太清楚,可否指点一下?
2007-03-23 09:10 694我知道业务逻辑层又可细分为三个层次,分别是业务外观层业务规则层 ... -
xml反串行化
2007-07-02 17:23 7581using System; 2using Syste ... -
WriteXmlSchema(xsdFileName)和GetXmlSchema()输出的内容的差异
2007-07-04 19:00 923利用DataSet.ReadXml载入一个xml文件,再使用G ... -
对websharp中aspect的改进(待续)
2007-11-17 14:27 740缘起 为了在我的《朗志轻量级项目管理解决方案》项目中应用 ... -
WebSharp Aspect改进(续2)
2007-11-19 21:39 714接着上次在《朗志轻量级项目管理解决方案》中对Aspec ... -
TreeView(树形控件)中常用到的属性和事件
2007-11-19 22:22 13141.TreeView(树形控件) ... -
有没有适合的的面向对象的查询语言(Object Query Language)
2007-11-28 10:15 785在我做《朗志轻量级项目管理解决方案》的过程中,我希望 ... -
问题解答集
2007-11-29 18:11 4631 如何在源代码的目录下添加一个测试文件 ... -
FckEditor自定义按钮
2007-11-29 18:35 855目录 FckEditor自定义按钮 1 目录 ... -
GhstDoc2.1.1使用手册
2007-11-29 18:39 743目录 GhstDoc2.1.1使用手册 1 ... -
Log4net使用说明
2007-11-29 18:44 812Log4net使用说明 1 修改历史纪录 ... -
MySQLHelper类使用说明
2007-11-29 18:46 1351目录 MySQLHelper类使用说明 1 目录 ... -
NDoc1.3.1使用手册
2007-11-29 18:47 796目录 NDoc1.3.1使用手册 1 目录 ... -
程序中操作Word
2007-11-29 18:52 751目录 程序中操作Word 1 目录 2 ... -
利用SMTP服务发送电子邮件
2007-11-29 18:58 1374目录 利用SMTP服务发送电子邮件 1 目录 ... -
程序中操作Excel
2007-11-29 18:59 669目录 程序中操作Excel 1 目录 ... -
访问被拒绝:“AjaxPro”的解决方案
2007-11-29 19:01 593目录 访问被拒绝:&qu ... -
sqlserver的版本号
2008-02-27 21:01 836当你安装了sqlserver 2005之后你就可以使用sqls ... -
在安装有VS2008beta2版本的机子上使用vs2005进行部署出现问题的解决方法
2008-02-27 21:13 703我知道,2008rtm发布已经很久了,不巧的是同学在我的机子上 ... -
忙话codesmith
2008-07-28 15:01 887为什么不是闲话,因为我很忙,项目中新问题是接连不断,上一篇讲到 ...
相关推荐
1. **性能测试**:通过模拟大量并发读写操作,测试BDB在不同工作负载下的响应速度和吞吐量,帮助优化数据库配置以达到最佳性能。 2. **压力测试**:在高并发环境下运行测试,检测BDB在极限条件下的稳定性和耐久性,...
**伯克利数据库(Berkeley DB...总的来说,伯克利数据库(BDB)是一个强大的、适用于32位系统的嵌入式数据库解决方案,通过.NET接口库提供了与.NET环境的良好集成。在轻量级数据管理和存储需求中,它是值得考虑的选择。
spring.net+ibatis.net+mvc配置demo.rar spring.net版本:1.3.2 ibatis.net版本:1.6.1 demo运行环境是VS2013 数据库表,我就没传了,测试的时候,建立表 CREATE TABLE [dbo].[Hair8_AD]( [ADId] [int] ...
- 对于这样的库,通常会有示例代码展示如何使用API,以及单元测试来验证其正确性。 9. **移植性**: - 考虑到Berkeley DB跨平台的特性,这个API应该能够在多种操作系统上运行,如Windows、Linux和macOS等。 综上...
bdb性能测试(包括查询、插入、删除)批量和单条的比较
总的来说,tokyocabinet的HDB和BDB引擎各有优劣,选择哪个取决于具体的应用需求。HDB适合需要快速随机访问的场景,而BDB更适合需要保持数据有序和进行范围查询的情况。通过深入学习这两种引擎的源码,我们可以更好地...
总的来说,BDB数据库9.0版本是一个强大、灵活且可靠的数据库解决方案,尤其适合需要高性能、高并发和本地数据存储的应用场景。通过理解和掌握BDB的相关知识,开发者可以构建出更稳定、更高效的应用程序。
总的来说,这个“bdb练习”旨在通过源码阅读和实际操作,提高开发者对bdb的理解和使用能力。通过对bdb的深入学习,开发者可以更好地解决数据存储问题,提升应用程序的效率和稳定性,特别是在处理大量数据和高并发的...
标题 "BDB in kernel" 指的是 Berkeley Database (BDB) 在Linux内核中的实现,这是一项将数据库管理系统直接集成到操作系统核心的技术。在描述中提到的 "Berkeley DB in kernel for linux-3.13" 显然是指BDB在Linux ...
Oracle中的BDB(Berkeley ...总的来说,Oracle的BDB数据库因其轻量级、高性能和易用性,成为了许多小型项目和嵌入式系统的首选数据库。开发者可以根据实际需求,灵活地利用BDB提供的API来构建高效的数据存储解决方案。
<br>如果您目前使用的是SQLServer的查询分析器进行数据库数据查询分析, 那么不妨试一下SQL自动完成功能,通过该功能可大大简化数据查询操作。 ( SQL自动完成功能即在执行查询分析时,不需要手动输入...
bdb数据库是一种高效、重要的数据存储解决方案,特别是在Oracle公司提供的产品中占据着一席之地。bdb全称为Berkeley DB,它是一种轻量级、嵌入式数据库管理系统,常用于需要快速、本地化数据存储的应用场景。Oracle ...
**BDB数据库详解** ...总的来说,BDB数据库因其高效、灵活和可靠的特性,在许多需要高性能数据存储的应用中得到了广泛应用。尽管现代有许多其他数据库解决方案,但BDB在特定场景下仍具有其独特的价值和优势。
本指南将详细介绍BDB的基本概念、安装配置、操作方法以及常见问题解决策略,旨在帮助个人学习者和研究人员更好地理解和运用BDB。 ### 一、BDB概述 BDB是一款非关系型数据库管理系统(NoSQL),它提供了键值对存储...
总的来说,Bainsoft BDB是一款全面的数据库管理工具,适用于多样的数据库环境,提供了丰富的功能,旨在优化数据库管理流程。对于那些需要跨平台管理数据库的用户来说,它无疑是一个值得考虑的选择。不过,随着技术的...
数据库设计工具BDB 最新版 v3.0 v3.0 下载: 1) 中文简体版: [url]http://www.bainsoft.com/downloads/BDB.rar[/url] 2) 英文版: [url]http://www.bainsoft.com/downloads/BDBEN.rar[/url] v3.0版本更新: 1, 增加...
BDB以其轻量级、高可用性和灵活性,在许多嵌入式应用和小型系统中广泛使用,尤其是在需要快速读写操作和低资源消耗的场景下。 BDB的主要特点: 1. **嵌入式数据库系统**:BDB不依赖于独立的服务器进程,而是直接与...
这对于需要频繁读取和写入操作的高并发应用来说,是一个显著的优势。 其次,BDB提供了多种数据访问接口,包括C、C++、Java和Python等,这使得它能够无缝集成到各种开发环境中。同时,BDB支持事务处理,确保了数据的...
BDB使用日志记录技术来确保数据的持久性。每次事务更改都会被写入日志,即使在系统崩溃后,也能通过回滚日志恢复到一致状态。定期的检查点可以将内存中的更改写入磁盘,减少恢复时的日志处理量。 **7. 应用场景** ...
基于bdb存贮的简单fifo持久队列,支持多个队列,采用bdb的btree方式组织数据。 启动参数说明: -n 数据库的文件名,默认为:xianglei.db -p http访问的端口号,默认:1985 -i http访问的ip地址,默认:127.0.0.1 -f ...