怎样把自己做的网站和数据库连接在一起,我只想和你永远在一起...

Git完全使用教程 建网站so easy
作者:佚名
字体:[ ] 来源:互联网 时间:08-05 15:45:01
Git完全使用教程下文分享给大家
在傻瓜式部署方式出现问题之后,我们该通过什么方法搭建网站呢?其实京东云擎本身已经给出了***,那就是Git。关于Git是什么我们就不做过多介绍了,它与以前的FlashFXP这类FTP工具的作用很相似,但又比这些工具强大的多,而了解网站建设的朋友对于FlashFXP这类工具一定不会陌生,因为你想要把网站建立在服务器上,就需要用到FTP工具。
Git完全使用指南
因此接下来,我们就来详细介绍一下Git的使用方法,同时本篇文章是以ZBlog建站为例来进行讲解的,学会了Git的使用方法,那么无论是Zblog,还是WordPress,亦或是Discuz,再或是你自己亲手设计的网站,都可以直接部署到京东云擎等虚拟服务器上。
好了闲话不多说,下面我们就进入正题吧!
&Git建站首先要做哪些准备?
在使用Git部署网站之前,首先你需要准备以下几个***文件:
1.去ZBlog官网下载ZBlog压缩包。
2.在京东云擎下载Git&Bash***包。
3.搜索SourceTree,下载***包。
其次你需要有以下几个条件:
1.本教程虚拟服务器以京东云擎为例,所以你要有一个京东帐号。
2.在京东云擎里建立一个PHP应用。
3.在京东云擎里建立一个MySQL数据库。
(具体可以参看《小学生都能看懂&教你打造免费个人网站》)
这两步准备好了之后,我们就开始本次的教程吧。
关于Git&Bash的***过程和方法就不多说了,大家直接点击***之后,始终下一步即可。Git&Bash***好打开之后的界面如下图所示。OMG,这样的界面我们怎么用呢?
Git&Bash***好之后的界面,呃&&这个怎么用呢&&
别慌,Git&Bash对于像笔者这样的小白来说当然是不好用,但是我们下载的SourceTree可以让Git&Bash变成我们熟悉的使用方式。还等什么?赶快点击SourceTree的***包进行***吧。
填写基本信息
开始***之后会遇到上面和下面的这些界面,除了用户信息自定义填写之外,其它跟笔者保持一致即可。
默认选择PuTTY/Plink即可
托管服务商你有的话填上就可以了,没有也没任何影响,直接点击完成即可。不过点击之后会提示检测托管服务商,这时候直接点击跳过就好了。此外,***过程中可能还会问你要不要加载一个SSH密钥,这个暂时可以不添加,直接跳过即可。
有的填没有的直接点击完成按钮
升级***一下即可
如果***的过程中出现上面这个对话框,那么选择红框标出的选项即可。SourceTree与Git的***都很简单,SourceTree其实是Git的图形化客户端,有了SourceTree,我们就不必为Git的命令式操作发愁了。***好之后打开SourceTree客户端,然后放着就好。
&如何建立Git与JAE的联系?
接下来我们进入京东云擎(JAE),关于云擎如何使用,之前的文章已经介绍的很清楚了(请依然参考:《小学生都能看懂&教你打造免费个人网站》),这里就不再赘述了。
进入云擎之后,你需要建立一个PHP应用,因为我们本篇建站的例子ZBlog也有PHP版本提供。
首先点击下图右上角的&新建应用&按钮,在弹出的页面里选择第二项PHP应用,之后随意(你想要的)填写下面的二级域名即可。建立好之后就是下面的样子,同时要看一下状态是否正常,如果正常的话就可以往下继续了,不正常的话再多建几遍(确实只有这个方法)。
进入京东云擎创建PHP应用,之后点击步骤2下的Git地址&点击访问&
建立好PHP应用之后,我们点击上图数字2标识的&Git地址:点击访问&文字链。之后会进入你所创建的代码库页面,如下图所示:
进入代码库页面(初始没有这么多文件)
刚刚建立的代码库中是没有上图里显示的那么多文件的,所以大家不用有疑问,初始大概只有readme.txt、index.php等三个文件。在这个页面里点击你的用户名,比如笔者的用户名是&yinhangwwq&,点击之后会进入下图所示页面:
点击ssh管理,之后点击添加
进入这个页面之后先点击&ssh管理&标签,之后才能看到绿色的&添加&按钮,然后点击添加按钮进入下一个页面即可,这里就先放着不用管了。
打开SoureTree,点击左上角的&克隆/新建&,右侧对话框点击&创建新仓库&
之前让大家打开SourceTree,没有手贱关了吧?让我们回到SourceTree,首先点击左上角红框标识的&克隆/新建&按钮,之后会弹出右侧对话框,在右侧对话框上点击&创建新仓库&按钮。之后你可以在你的硬盘里建立一个仓库目录,比如笔者就建立在D盘JAE文件夹里的CDN文件夹里。选择相应路径之后点击创建按钮即可。
建立好之后,你可以把之前下载的ZBlog压缩包解压缩到这里。
创建SSH密码
创建好新仓库之后,找到SourceTree工具栏上的&工具&按钮,在下拉菜单中点击&创建或导入SSH密码&。点击之后会弹出下图所示对话框:
点击Generate按钮
在对话框中点击&Generate&按钮,然后会弹出绿色的进度条,SSH产生的时间比较久,耐心等待一会儿吧。
大家可能对&新建仓库&有一些疑问,啥是仓库呢?其实很简单,既然要建立网站,那么你就需要把网站所涉及的文件放在一个地方,而这个仓库,其实就是你网站文件的存放地。那又有小伙伴可能会问了,什么是SSH密钥呢?我只想说请百度一下即可,这并非我们的重点。
品牌:华硕 笔记本电脑 3如何配置代码库密钥?
&如何配置代码库密钥?
等进度条读完之后,就会看到下图所示的对话框了。这时你首先要把数字1标识出的SSD密钥内容Copy下来,最好放在TXT里以免悲剧。之后再点击数字2标识出的Save&Private&Key按钮来保存你的密钥,Key文件名自己设定即可,保存的位置一定要记住,不要保存之后忘了保存在哪哦。
复制步骤1代码框里显示的代码,之后步骤2保存代码,并记住保存位置
到这里还记得笔者让大家打开的SSH添加页面吗?如下图所示,把你刚才Copy的SSH密钥粘帖到公钥栏里,名称自己定就行了。填好之后点击保存即可。
将之前的代码粘帖到ssh添加页面的公钥栏里,并点击保存即可
保存好之后,再让我们回到SourceTree,上面的密钥对话框如果没关的话可以关掉了。这时请点击工具按钮下的选项按钮。
点击工具&选项按钮
添加SSH密钥
点击选项按钮之后,就会看到上面这个对话框了,所有对勾的部分跟笔者保持一致即可。SSH密钥部分请点击右侧的按钮,找到你刚刚保存到本地的密钥文件添加即可,这些事情都做好之后,请点击右下角被ZOL水印挡住地方的&确定&按钮,到这一步,本地代码库、以及本地SSH密钥与服务器SSH密钥的连接就已经完全做好了。
而接下来,就是如何使用Git搭建网站了。
&把网站部署到虚拟服务器
当然,这里指的搭建网站并非教大家如何去设计网站,而是通过现有的一些免费资源来进行网站搭建,如果您自己懂Dreamwaver,能够独立制作网站的话,那肯定会更有意思,同时也就不需要看这篇给初学者写的文章了。
目前常见的免费网站资源包括之前介绍的WordPress、本次拿来做例子的ZBlog以及论坛向的Discuz。根据笔者实际测试发现,京东云擎目前对Discuz的支持并不是很好,很多Discuz的权限都无法完全开放,虽然能够顺利部署,但完全***的话需要去修改一些代码和文件,比较麻烦。不过在这篇文章发布的时候,可能京东云擎已经能够支持Discuz的一键***功能了,如果没有支持,那么也离支持不远了。
废话了这么多,我们还是回到本篇文章的内容吧。Git设置好之后,我们就可以进入网站部署了。在这之前你首先要下载ZBlog的压缩包,WordPress、Discuz以及其它免费资源同理。
在代码库中复制右下角这一段地址
第一步让我们返回代码库页面(当然是你关联好的代码库,而不是其它的,笔者本次关联的是jae_zolzblog代码库),在右下角再次被ZOL水印盖住的地方有一个地址,将其复制一下。
第二步让我们返回SourceTree,点击左上角的&克隆/新建&按钮,打开右侧对话框之后选择克隆仓库,并在源路径/URL右侧的地址栏中把刚才复制的地址粘帖到这里。
之后SourceTree会进行自动检测,期间会弹出一个账户名/密码输入对话框,此时输入你京东云擎的帐号/密码,这里要提醒大家的是,如果您对自己的帐号安全有顾虑的话,那么建议重新申请一个帐号。
填好帐号密码稍等一下就会检测完毕,之后点击右下角的&克隆&按钮即可。
克隆好之后,就会显示在左侧栏里(如红框所标注)
克隆好之后,你会在左侧栏里看到自己的代码库名称,此时我们需要进行第三步操作,就是右键点击你的代码库名称,这时会弹出一个对话框,然后再点击&在资源管理器里打开&选项。
右键点击仓库名称,再点击&在资源管理器里打开标签&
点击之后会弹出下图所示文件夹页面,这个文件夹是你在克隆仓库之后自动建立在C盘下的。打开之后先去找你刚才下载的ZBlog压缩包,然后把压缩包解压缩得到里面的文件,然后将根目录下的文件拷贝到资源管理器打开的文件夹里(下图所示文件夹)。
这里要注意的是,拷贝进来的文件一定要是根目录,不要有任何文件夹。此外,看到下图中有一个红色的.ico文件了吗?这个文件可以替换成你想要的图标。
把文件拷贝到资源管理器打开的文件夹里
进行到这一步,距离网站搭建就只剩下最后的冲刺阶段了,虽然可能第一次看教程会感觉有些麻烦,但是在掌握使用方法之后你就会发现,Git方式部署网站是非常简单便利的,而且管理起来也很便利,有任何的网站文件修改之后,你只需要把修改的内容拖入到这里,再通过Git上传就能够直接进行改动,非常的便捷,这一点大家在掌握之后慢慢体会吧。
&进入最后的冲刺阶段
由于某些突发状况,笔者在操作过程中电脑挂掉,致使一些图片丢失,目前电脑还在维修中,所以把之前搭建Discuz的截图拿来暂时用一下。虽然代码库变了,但具体的操作方法是一样的。
比如下图中大家看到左侧栏里我之前建立的zblog代码库没有了,但这并不影响接下来的步骤。
书接上文,将网站压缩包里的文件拷贝到之前资源管理器打开的文件夹里之后,大家就可以点击SourceTree中的&添加/删除&按钮了,弹出的询问对话框不用理会,直接点击OK即可。
开始上传网站文件
点击之后你会看到一个进度条,稍微等待一下就可以完成添加。之后大家会看到SourceTree上的&提交&按钮(下图红框处)被点亮,这时你就可以毫不犹豫的去点击提交了。
左上角红框里的&提交&按钮亮起
点击提交之后,你的网站就已经部署在了京东云擎里,其实说白了就是把网站压缩包里的文件上传到京东云擎的数据库中。提交完成之后你会看到下图红框标出的&推送&按钮有数字显示,不用惊慌,点击一下推送按钮,把没有完全上传的剩下的文件进行上传吧。
点击推送剩下的文件即可
完成上传之后,你可以回到京东云擎的代码库中查看一下,如下图所示,可以看到所有压缩包里的文件就已经都上传到了京东云擎代码库里了。
这就是构成你网站的所有文件
点击访问,或直接输入HTTP地址访问
确认网站文件部署完毕之后,回到上图所示的应用列表页面,然后点击红框处标识出的&点击访问&,就可以登录你所搭建的网站了。当然你也可以直接在浏览器上输入你的网站域名进行访问,比如笔者的二级域名就是zolzblog.。
此外有些朋友询问能不能不用的域名,这当然是可以的,但是你需要去租用其它的服务器,然后将地址映射到京东云擎上。
&如何配置搭建好的网站?
有朋友可能在第一次访问网站时会遇到下面这个页面,怎么办呢?同样不要惊慌,遇到这种情况的话,回到京东云擎的应用页面,找到你所建立的应用右侧的快速部署和快速重启按钮,先快速部署一下,再重启一下应用,等待状态显示为&正常&之后,应该就已经解决这个问题了。如果还没解决的话,那么多重复几次重启总会好起来的。
出现这个页面请点击快速部署应用之后再重启应用
正常情况下,搭建好ZBlog之后会进入下图所示页面,看到这个页面就说明你已经成功了。接下来就进入ZBlog的***吧:
之前两步看看就好,直接点击下一步两次会进入到下图所示页面。表格的填写方法之前在《小学生都能看懂&教你打造免费个人网站》这篇文章中已经做过详细介绍,本次就简单来说一下。
首先数据库主机这一项,跟笔者保持一致即可。表前缀这一项不用动,默认即可。
其次,用户名称、用户密码以及数据库名称,需要你到京东云擎的&云数据库&页面里找到对应的数据库名称,然后点击数据库名,在弹出的页面上复制相应的内容粘帖到这里即可。(还是不明白的请参看《小学生都能看懂&教你打造免费个人网站》最后两幅图)
最后,关于网站设置下的五项(网站名称、用户名、密码等)根据喜好和习惯自由填写。
ZBlog***&&&
填好之后点击下一步进入上图所示页面,再点击完成就OK了。
完成之后会进入ZBlog首页,这里其实跟WordPress是相似的,没什么太多可说的。
ZBlog初始页面
登录之后自行优化去吧
登录自己的帐号之后,可以对ZBlog进行管理,后台使用方便直观,而且可以直接通过主题管理选项下载更多主题,不过ZBlog好的主题大都是收费的,相对于WordPress而言,个人感觉使用更加方便。而关于ZBlog的使用,我想大家自己摸索一下也没有任何障碍,这里就不多说了。
上次教程主要是交大家如何在京东云擎通过最简单的方法去快速部署一个WordPress网站。而本次教程则是教给大家部署任何网站所通用的方法。Git+SourceTree使用看似繁琐,但其实通过先期配置完成之后,使用起来是极为简单、便利的,这一点大家可以在***之后自行体验。
而之所以两次都选择了京东云擎,一是因为笔者一直在用,比较熟悉,再一个就是京东云擎是免费的,适合更多的新手朋友去先期练手使用。不过京东云擎在之前升级之后,将数据库容量从5GB缩减到了50MB,实用性大打折扣。不过据内部消息证实,这只是暂时性的措施,因为之前大量用户涌入京东云擎建立5GB数据库空间之后就不再使用了,造成了空间的浪费,所以暂时关闭了大容量数据库申请,不过以后通过改版会制定出相应的措施。
正如开篇所说的那样,本文的目的是授之以渔,为的是教给大家一种部署网站的方法,希望能够为大家带来乐趣和便利。
大家感兴趣的内容
12345678910
最近更新的内容当前位置:&&
连接配置信息的放置问题!
&&&&来源:&互联网& 发布时间:
在做数据库连接bean的时候,我希望把连接信息提取出来,例如ip ,user ,password等,但是要同时适合win2000也要适合linux的时候,这个配置文件应该以何种形式出现比较好,放置在何路径,以及如何访问呢?
谢谢您的参与解答!
没错,把配置文件作为类资源放到你的classpath下(WEB-INF/classes),以InputStream方式读取:
Thread.currentThread().getContextClassLoader().
getResourceAsStream("config.xml");
和com平级的目录config
com.ss.dog
然后在config目录里放配置文件properties
可以是一般的名值对形式的属性文件,也可以是xml格式的文件
本页相关标签:
相关技术文章: &&&&
java的所涉及的范围太广了,不可能在短时间内学完,我只想学习网络及数据库方面的项目开发,在以前已经学过java的基础,且对delphi很熟,现在从事的是网络数据库和网站设计。向大虾们求教,该怎么学?
快找一个项目例子来自学一下,看代码,测试运行,这样学习吧。
速成??????呵呵!!
你没有一年两年的经验无法达到的!!
慢慢来吧!!
心不要急,手勤快点
毕竟做技术的多少都要一些相应的经验
多看看例子,多多请教高手,不要闭门造车
...... &&&&
Class.forName("org.gjt.mm.mysql.Driver");
con=java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test","root","123456");
为什么第二句异常 Server configuration denies access to data source ?
??当运行 DateTest 时屏幕提示 “Server configuration denies access to data source”
解决方法:
??首先进入 mysql 并以 root 登陆,随后输入如下内容。
??mysql& GRANT ALL PRIVILEGES ON [dbname].* to '[user]'@'[hostname]'
identified by '[password]';
??(注意:这里将 dbname 替换成你的数据库名称,在 DateTest 中...... &&&&
在连接数据库时:(程序如下)
Connection conn =
conn = DriverManager.getConnection
("jdbc:oracle:thin:@s:guest","system", "manager");
Statement stmt=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
String sql = "delete
from twguestorder where email ="+ email +"and menuid ="+
i=stmt.executeUpdate(sql);
删除值时抛出异常
java.sql.SQLException: ORA-01729: 需要数据库链接名
救命呀,我要吐血了,别人能联上,为什么我不行呀!!
String sql = "delete twguestorder where email ="+ email +"and menuid ="+
试...... 最新技术文章: &&&&
请问visual age for java 与 webphere studio 的区别?
visual age for java已经不在出新版本了,WSAD是它的下一代产品。
visual age for java最多到版本4,现在WSAD已经版本5了,WTE也已经到版本5了。
...... &&&&
看完了&JSP动态网页入门实务&,可感觉还好多东西都不懂.有好的书推荐一本..
探索JSP的小菜鸟..望大家多多指教.因为我实在是太菜了.
jsp核心技术详解
...... &&&&
import java.sql.*;
public class Dbconn
String sDBDriver="org.gjt.mm.mysql.Driver";
String sConnStr="'jdbc:mysql://localhost/sinomos?useUnicode=true&characterEncoding=UTF8','root','123456')";
Connection conn=
ResultSet rs=
public Dbconn()
Class.forName(sDBDriver);
catch(java.lang.ClassNotFoundException e)
System.err.println(e.getMessage());
public void executeInsert(String sql)
...... 
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!
(C)2012-,站长邮箱:www_169it_(请将#改为@)(点击上方公众号,可快速关注)
英文:charles leifer
译者:伯乐在线 - lostmint
链接:/102161/
如果你还没听说,SQLite是一款能够实际运作在真实产品环境中的惊艳的数据库。在这篇文章中,我会列出5大理由来解释为什么我认为你应该在2016年试试 SQLite。
你管理过一个Postgres数据库吗?为了确保数据库服务器得到恰当设置(共享数据缓冲区,有效缓存大小,工作记忆,维持工作记忆,缓冲机制…)你需要明了相当多的事项。升级也会是一个可怕的过程,你也许需要离线你的数据库,运行一个程序来阻止它升级,并希望等你重启时它仍可以运行。更进一步说,你知道你的 postgres 数据库存储在哪吗?你可以指着一个地方说,「这就是我的数据库吗」?
(现在,我们都知道在很多情况下只有 Postgres (或MySQL, Oracle, SQL Server等)可以满足应用上的要求。这里我的目的并不是说SQLite另有规定。而是我只想强调相比较于传统的数据库服务器,管理一个SQLite db数据库的不同点。
SQLite管理起来非常简便----它是一个单一的文件(或者有时是一个文件 + 事务日志)。文件格式在主要的版本中非常稳定,所以如果我在SQLite3.0.0版本上(2004年推出的版本)有数据库文件,我可以使用 SQLite 3.10.0版本读出它。如果我想把数据文件装在U盘中随身携带,我可以拷贝文件,或者目前更好的是我可保存在我的dropbox文件夹。如果我每天晚上都要备份这些文件,我只需把数据库文件同步到S3。如果我想共享我正与我同事合作的数据分析,我只需发送给他们这个数据库文件的一个我已准备好的副本。数据库在一个单一的文件中,且保持稳定的格式是SQLite的一大特性。
而且,SQLite设置起来也很方便。 SQLite的功能可以用两种方式来管理:编译标志 和 编译指示语句(运行时配置)。这里没有指明的配置文件,你只需把你想要的功能构建成库,然后在创建数据库连接时配置这些运行时选项。
不断改善目前已坚若磐石的稳定性
SQLite是由几个真正的软件工程师大神主动开发。并以惊人的速度不断增加高质量的新功能。就在前不久SQLite通过 json1拓展来支持JSON数据。SQLite还发布了一个改进的全文检索的扩展版本,其中包括使用BM25算法的结果排序。
除了增加新的功能,SQLite开发者也正在努力使库的使用更高效。在3.8.11版本,发行说明包含这条宣传语:
SQLite如今的速度是 3.8.0版本速度的两倍,是 3.3.9版本速度的3倍。
尽管有了这些变化和改进,SQLite鲜少出现 bug。SQLite测试套件被广泛认为是行业内最佳之一,在开发者发现这个令人印象深刻的文件后,SQLite如何测试的页面经常出现在HackerNews上。
可拓展性和可控性
我个人最喜欢的特性是它的可扩展性。因为SQLite是由你的应用程序插入的,它运行在相同的地址空间,可以代表你执行应用程序代码。无论是Python标准库SQLite驱动,pysqlite,和替代驱动apsw提供的APIs来定义自定义的SQL函数,聚合函数和排序规则。apsw更进了一步,提供APIs定义虚拟表和虚拟文件系统!
举一个实际的例子,假设在你的数据表中有一列存储 URLs,你希望确定哪个是最常见的主机名----如果你正使用不同的数据库,你会被迫去写一个复杂的正则表达式,一个字符串操作函数的组合,或把数据放入你的应用程序并在代码中进行运算。而有了SQLite,你可以在Python中定义一个主机名的功能,然后使用它来创建一个简单的计数查询:
from urlparse import urlparse
def hostname(url):
return urlparse(url).netloc
conn = sqlite3.connect('my-database.db')
conn.create_function('hostname', 1, hostname)
# name, num_params, func
SELECT hostname(mytable.url), COUNT(mytable.id) AS ct
FROM mytable
GROUP BY hostname(mytable.url)
ORDER BY ct DESC;
您还可以创建聚合函数,它接受 0..n 值,并生成一个单个输出值。例子可能是计算标准偏差、通过用一些方式处理值来产生字符串、或者做一些类型的分类等等。
虚拟表,目前只受apsw支持,允许你在代码中定义一个表,然后把它当作一个正常的SQL表来查询,即使后台的数据完全是动态的。举例来说,我写了一个简单的虚拟表,可以允许你像查询SQL表一样来查询Redis.
你也可以写同名的函数,其中函数返回0..n行结果。正则表达式搜索函数也许是个例子,它处理输入值和产生匹配令牌的行。我写了一个库,sqlite vtfunc,它使得写这些类型的函数变得极其容易。
SQLite的每个方面都可以被你的应用程序操作。
Lightning fast
SQLite运行起来很快。它在同一个机器上运行,所以在执行查询和读出结果时没有网络管理费用。它在同一个地址空间运行,所以没有有线协议,串行化或需要通过UNIX套接字通信 。SQLite可以在资源匮乏、要求高效率的无线设备上运行。SQLite也支持大量编制标志,允许你移除不打算用的功能。
SQLite的速度弥补了他的最大的缺陷,就是数据库文件锁定为写。正因为写数据的速度快到不可思议,只有当存在大量的并发作者时,数据库的锁定才会成为一个问题。
WAL ( Write-Ahead Logging
预写式日志记录 ) 模式
3.7.0版本的SQLite添加了一个新的日志记录方法,使用预写日志记录。这本身不是什么真正值得兴奋的新闻,但这意味着对于 web应用(或任何并发机制)开发者来说,读者和作者不再相互限制。或者换个方式来说,读和写可以发生同时。如果没有有 WAL 模式,为了写这个数据库,作者将要求独占访问权,在撰写完成前,这个数据库无法被访问。
下面是一个例子来图解两者的不同,假设我们有两种进程状态,作者和读者。作者开始一个专有事务(表示有撰写的意图)。接下来,读者会开启一个事务,然后读者尝试去发布一个筛选的状态:
Journal mode = “delete” (the default):
Journal mode = “wal”:
然而,值得注意的是,即使你不具有WAL模式,写通常发生在毫秒间。这是一个如此短的时间来让你注意到问题,如果你有非常高的并发或有很长的事务要写。
额外的原因:BerkeleyDB
BerkeleyDB的SQLite的整合甚至可以给需要访问并发数据库的应用程序开发者们提供更好的性能,因为BerkeleyDB不是锁定整个数据库,而是只需要锁定单个页面。这使得BerkeleyDB在加载并发数据库时有更高的吞吐量,只要事务没有争夺同一页数据。BerkeleyDB还支持多版本并发控制(MVCC),它允许读的操作继续发生在正在运作写的事务的数据页。
BerkeleyDB另一个好处是效率的提高。换句话说,BerkeleyDB可以使用更少的系统资源和执行更少的系统调用。
BerkeleyDB的SQL接口是SQLite的一个插入式替换方式,并支持相同的APIs和功能。BerkeleyDB提供了一些附加功能,比如复制(SQLite有备份实用工具,但我的理解是,它不如BDB强大)、加密,当然还有包括BerkeleyDB自身所有的功能。
BerkeleyDB使用起来的一大缺点是对配置值非常敏感,并且获取正确的页面大小、缓存大小等其他设置需要深厚的知识。另一个缺点是授权许可----阅读更多关于BerkeleyDB的授权许可,可查看Oracle的授权页面。
我希望你可以试一试SQLite 。不要相信FUD(Fear,Uncertainty,Doubt,一种别有用心的打击手段)对它的描述:没有生产价值,或者不适合在web应用上使用。
如果你想了解更多,SQLite本身有一个好的描述: when to use SQLite, 它总结了一个单子,什么情况下RDBMS可以更好地工作。我也曾写过一篇同样的短文叫做:SQLite: Small. Fast. Reliable. Choose any three
,你可能会喜欢。
感谢你抽出宝贵的时间来阅读,如果你有任何问题、评论或者建议欢迎在评论区留言~
【今日微信公号推荐↓】
更多推荐请看《值得关注的技术和设计公众号》
其中推荐了包括技术、设计、极客 和 IT相亲相关的热门公众号。技术涵盖:Python、Web前端、Java、安卓、iOS、PHP、C/C++、.NET、Linux、数据库、运维、大数据、算法、IT职场等。点击《值得关注的技术和设计公众号》,发现精彩!
本文来自微信公众账号提交,由微讯啦收录,转载请注明出处。
微信扫码 分享文章

参考资料

 

随机推荐