架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1416|回复: 1

[资料] .NET 之嵌入式数据库 LiteDB 教程

[复制链接]
发表于 2023-5-21 18:27:16 | 显示全部楼层 |阅读模式
网上曾经看到一个段子,说使用 Blazor+LiteDB 画原型图无敌的存在,大体意思就是原型图画好了,功能也实现了,然后开发效率和速度也非常快,别人招投标都是写 word、画原型图进行展示,我们直接将功能做好展示给客户操作。

LiteDB 数据库

LiteDB 一个小巧、快速、轻量级的 NoSQL 嵌入式数据库。

官网:http://www.litedb.org/
GitHub 地址:https://github.com/mbdavid/LiteDB
LiteDB.Studio 可视化 GUI 工具:https://github.com/mbdavid/LiteDB.Studio

  • Serverless NoSQL 文档存储
  • 类似于 MongoDB 的简单 API
  • 100% C# 代码,支持 .NET 3.5 / .NET 4.0 / NETStandard 1.3 / NETStandard 2.0,单 DLL (小于 300 kb)
  • 支持线程和进程安全
  • 支持文档/操作级别的 ACID
  • 支持写失败后的数据还原 (日志模式)
  • 可使用 DES (AES) 加密算法进行数据文件加密
  • 可使用特性或 fluent 映射 API 将你的 POCO 类映射为 BsonDocument
  • 可存储文件与流数据 (类似 MongoDB 的 GridFS)
  • 单数据文件存储 (类似 SQLite)
  • 支持基于文档字段索引的快速搜索 (每个集合支持多达 16 个索引)
  • 支持 LINQ 查询
  • Shell 命令行 - 试试这个在线版本
  • 相当快 - 这里是与 SQLite 的对比结果
  • 开源,对所有人免费 - 包括商业应用
  • 可以从 NuGet 安装:Install-Package LiteDB


LiteDB 和 SQLite 对比

两者其实都是小型数据库,都不需要单独安装数据库服务,数据库只是单独的文件;
支持跨平台,都可以在 Windows、Linux、移动端使用;
LiteDB 是非关系型数据库,SQLite 是关系型数据库
性能对比:https://github.com/mbdavid/LiteDB-Perf

QQ截图20230521181010.jpg

.NET 7 使用 LiteDB 数据库

首先,新建一个 .NET 7 的项目,使用 nuget 命令安装 LiteDB 数据库,命令如下:

创建 Demo 数据库,然后尝试插入 100000 条数据,代码如下:

插入 10万条数据,感觉整个程序也就用了 2秒的时间,占用磁盘大小为:30.5 MB,可以使用 LiteDB.Studio 工具进行查询,如下图:

QQ截图20230521182017.jpg

关于数据库连接字符串:http://www.litedb.org/docs/connection-string/,示例如下:

LiteDB 提供 2 种类型的连接:DirectShared. 这会影响引擎打开数据文件的方式。

Direct: 引擎将以独占模式打开数据文件并保持打开状态直到Dispose(). 另一个进程无法打开数据文件。这是推荐的模式,也是默认模式,因为它速度更快且可缓存。
Shared:引擎会在每次操作后关闭数据文件。锁是使用Mutex. 这更昂贵,但您可以从多个进程打开同一个文件。

尝试执行查询操作,也是非常快的,如下:

QQ截图20230521182141.jpg

LiteDB 存储文件

LiteDB 还支持存储文件操作,也就是可以将网站的图片、文档、表格等内容直接存储到 LiteDB 数据库中,代码如下:

(完)





上一篇:ASP.NET Core(十九)使用 BackgroundService 运行后台任务
下一篇:Aspose(一)Aspose.Words 将表格填充到 word 文档
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-5-21 18:28:15 | 显示全部楼层
【实战】.NET/C# 创建 SQLite 数据库并简单增删改查
https://www.itsvse.com/thread-10192-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-6-2 07:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表