为什么SQLite适合于模板缓存?

3

使用SQLite存储模板缓存的好处是,当缓存元素数量很重要时,读写操作更快。

我从未使用过它,但是如何使用SQLite比普通文件系统更快?

在我看来,开销(初始化连接)会使其变慢。

顺便问一下,有人能提供一个如何使用SQLite的演示吗?

2个回答

3

SQLite数据库没有真正的"初始化连接"概念:它作为单个文件存储在本地文件系统中;因此,不存在像网络连接这样的东西。

我认为使用SQLite数据库可以被视为快速的,因为只有一个文件(数据库),而不是每个模板一个文件--每次访问文件都会耗费一些资源;操作系统可能能够更有效地缓存对一个大文件的访问,而不是多个不同小文件的访问。


关于"演示如何使用SQLite",这有点取决于你将要使用的语言,但你可以先看一下SQLite文档和你所使用的编程语言中可用的API;访问SQLite DB并不那么难:基本上,你需要:

  • “连接”到DB--即打开文件
  • 发出一些SQL查询
  • 关闭连接

这与任何其他DB引擎并没有太大的区别:最大的区别在于不需要设置任何DB服务器。


我正在使用PHP语言。怎么可能没有数据库服务器呢? - user198729
请查看以下网页的第二部分(“Serverless”):http://www.sqlite.org/different.html - Pascal MARTIN

1

SQLite相对于标准文件系统的优势在于它的缓存机制。SQLite将数据存储在页面中,并将页面缓存在内存中。对于那些在内存中已经有页面的重复数据请求将跳过对文件系统的调用。

不过,在使用SQLite时也存在一些开销。连接到SQLite数据库时,引擎会读取和解析模式。在我们的系统上,这需要30毫秒(虽然对于较小的模式通常少于1毫秒 - 我们有接近一百个表格和数百个触发器和索引)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接