作为 ASP.NET 站点的 ACL 的小型数据库系统

Posted

技术标签:

【中文标题】作为 ASP.NET 站点的 ACL 的小型数据库系统【英文标题】:Small database system as ACL for ASP.NET site 【发布时间】:2011-10-19 12:57:21 【问题描述】:

我有一个基于 Web 的 ASP.net 平台,每天为成千上万的客户提供服务。每分钟大约 100 个连接。这可能会增加 10 倍。

当客户端连接到系统时,我可以唯一地识别它们,并且我需要一个可以查询 2 件事的简单数据库: 1)这个ID有效吗? 2) 数据库总共有多少个ID?

如果 ID 无效,我通常会在第一次看到 ID 时将其添加到数据库中。

我已经尝试过 Microsoft SQL CE - 但我现在发现会话过多的问题。我想避免使用专用的 SQL 系统(SQL Server Express 等)并坚持使用更“嵌入式”的选项。

你们会推荐什么系统?

【问题讨论】:

【参考方案1】:

看看 SQLite,它是一个“基于文件”的 SQL 服务器,当没有主要的高级查询时,性能甚至会更好。

http://www.sqlite.org/

【讨论】:

我查看了 SQLite,发现了一些缺点:1) .NET 绑定适用于 2.0 - 我使用的是 4.0(不是主要版本)2) 阅读了很多关于仅使用文件锁的 SQLite,我将同时读/写=死锁:( 在我使用的产品(防火墙/网关)中,我们使用 SQLite 进行日志记录,并通过不在每个请求都写入来解决问题,而是以特定的时间间隔写入数据库/磁盘。 好的。数据是通过查询(从内存中)立即可用还是您看到结果有延迟? 读取时,如果数据不在要写入磁盘的提示上,我会读取数据库。例如,如果每 500 毫秒将任何排队的数据写入磁盘,您总是可以延迟重新读取。问题是,刚刚提交的数据需要立即读取的频率如何? 但老实说..我真的会用 jMeter 测试性能,例如看看你是否确实遇到了性能问题。例如,SQLite 每秒可以处理超过 20,000 次较小的 INSERT INTO 插入

以上是关于作为 ASP.NET 站点的 ACL 的小型数据库系统的主要内容,如果未能解决你的问题,请参考以下文章

将Asp.Net WebAPI从AngularJS App的Asp.Net MVC站点移动到一个单独的站点

iis 中具有多个子域的 asp.net mvc 站点

利用ASP.NET里自带的站点地图工具制作网站站点地图

# 中小型网络构建-ACL

asp.net+mysql站点数据的操作

ASP.NET Membership 作为用户登录