cari
Rumahpembangunan bahagian belakangtutorial php2016年应该使用SQLite的5大原因

2016年应该使用SQLite的5大原因
什么?你还不知道SQLite?那么我告诉你,SQLite是一个了不起的数据库,能够在实际生产环境中做真正的工作。在这篇文章中,我将简要说明5个我认为你应该在2016年使用SQLite的原因。
1.管理简单。你以前管理过Postgres数据库吗?为了确保数据库服务器的正确配置(共享缓冲区,有效缓存大小,work mem,维护work mem,wal缓冲区…),你需要理解和学习相当多的东西。升级可以说是一个可怕的过程,并且,你可能需要脱机使用数据库,运行专门的升级程序,然后在心里默默期盼当你备份回来的时候它还能继续工作。此外,你知道你的Postgres数据库究竟存储在哪里吗?你能随便指一个地方,说,“那就是我的数据库”吗?(众所周知的是,有很多情况下只能使用Postgres(或MySQL,Oracle,SQL Server等)才能满足应用程序的需求。但是我在这里这么说的目的,并非如此。我只是想突出说明管理SQLite 数据库和其他典型数据库服务器之间的区别。)
SQLite容易管理——因为它是一个单一文件(或在某些时候是一个文件+事务日志)。文件格式在很多主要的版本上都非常稳定,所以假设我有一个从3.0.0版本(在2004年)开始的SQLite数据库文件,那么我也可以使用最新的SQLite 3.10.0读取它。如果我想将数据库文件放到一个U盘中,那么我只要复制文件,或者更好的做法是将文件保存在dropbox文件夹中。如果我想每天晚上备份,那么我只要同步数据库文件到S3。如果我想分享一些和同事一起做的数据分析,那么完全可以发送一份数据库文件的副本给他们,然后他们就可以使用了。数据库以一种单个文件的形式存在,且具备稳定的格式,是SQLite的特色。
更重要的是,SQLite很容易配置。SQLite的功能可以通过两种方式进行管理:编译标志和PRAGMA 语句(运行时配置)。没有所谓的配置文件,你只需要构建你想要的库,然后在你创建数据库连接时,配置运行时选项。
2.不断提高又坚如磐石的稳定性。SQLite是由一些真正了不起的软件工程师积极开发的。高品质的新功能正以一种惊人的速度被添加进来。就在最近,SQLite通过json1扩展增加了对JSON数据的支持。 SQLite还发布了全文检索扩展的改进版本,其中包括使用BM25算法的结果排名。除了增加新的功能,SQLite的开发人员也正在努力使库拥有更多的性能。在3.8.11版本中,发布说明中包含这条小介绍:SQLite现在的运行速度是3.8.0版本的两倍,3.3.9版本的三倍。
尽管出现了这么多的变化和改进,但SQLite很少引入bug。 SQLite的测试套件被广泛认为是行业中最好的测试套件之一,并且关于SQLite如何测试的页面经常出现在HackerNews上,因为开发人员前赴后继地发现了这篇令人印象深刻的文档。
3.可扩展和可控制。关于SQLite,我个人最喜欢的特点是它的可扩展性。由于SQLite是通过应用程序嵌入进去的,所以它运行在相同的地址空间里,并且可以代你执行应用程序代码。无论是Python标准库SQLite驱动程序——pysqlite,还是可选驱动器aspw,都可以提供定义了自定义SQL函数、聚合函数和归类的API。 aspw更进一步,提供的API还可以用于定义虚拟表和虚拟文件系统!虚拟表,目前唯一由aspw支持,允许你在代码中定义一个表,然后查询它,好像它是一个普通的SQL表,即使备份数据可能完全是动态的。例如,我写了一个简单的虚拟表,可以让你查询Redis就好像它是一个SQL表。
你也可以写同名的函数,它是用于返回0…n行结果的函数。其中一个例子是一个正则表达式检索函数,处理输入和产生匹配令牌的行。我写了一个库,sqlite-vtfunc,它可以使得我们编写这些类型的函数变得非常容易。实际上,SQLite的每个方面都通过你的应用程序来操作。
4.快如闪电。SQLite非常快。由于它运行在同一台机器上,所以在执行查询或读取结果时是没有网络负担的。又因为它运行在相同的地址空间,所以没有线路协议、序列化,也不需要通过unix套接字进行通信。当资源稀缺和效率是至关重要的时候,SQLite还可以运行在移动设备上。 SQLite还支持大量的编译标识,允许你删除你不打算使用的功能。
SQLite的速度弥补了它最大的不足之处之一,那就是数据库文件锁定写入。令人难以置信的快速写数据,只当有大量的并发写提供服务时,数据库锁定才会成为一个问题。
5、WAL模式。SQLite的3.7.0版本中补充了一种利用预写日志的新日志记录方法。虽然其本身真不算是令人振奋的消息,但这对web应用程序开发人员(或任何处理并发的人员)意味着读的服务不会再阻塞写的服务,反之亦然。换言之就是,读和写可以同时地发生。如果没有WAL模式,那么要想写入数据库,写的服务则需要独占访问数据库,并且不能发生读的服务,直到写的服务结束。然而,值得一提的是,即使你不启用WAL模式,写的服务通常发生在毫秒间。这个时间是如此是短,以致于只有当你并发很高或写的事务非常长时,才会注意到出现问题。
加分原因:BerkeleyDB。BerkeleyDB的SQLite集成,能够给予应用程序开发人员所需的并发数据库访问甚至更好的性能,因为它不是锁定整个数据库,BerkeleyDB只需要锁定的个别的页面即可。这允许BerkeleyDB能在并发数据库负载下更有效地规模化,提供的事务不会争夺相同页面的数据。 BerkeleyDB也支持多版本并发控制(MVCC),允许读的操作继续发生在数据页面上,通过一个写的事务来处理数据。
BerkeleyDB还有一个好处是提高了效率。换句话说,BerkeleyDB可使用更少的系统资源,执行较少的系统调用。你可以在此白皮书中和这篇简要的技术概述中阅读更多细节。BerkeleyDB的SQL接口是SQLite的一个插入式替换,并且支持相同的API和功能。 BerkeleyDB提供了一些附加功能,如复制(SQLite有一个备份工具,但我认为它不如BDB的强大)、加密,当然还有BerkeleyDB本身的所有功能。
使用BerkeleyDB的一个主要缺点是,它是配置值非常敏感,而且要想获取正确的页面大小,缓存大小以及其他设置,需要很深厚的知识造诣。另一个缺点是许可证——阅读更多关于BerkeleyDB许可证的内容,查看Oracle的许可页面。
最后,我希望你能尝试一下SQLite。不要听信那些因循守旧的人说它不适于生产,或不适合在web应用中使用它的一面虚词。
如果您想了解更多,SQLite本身就有一个很好地介绍了何时使用SQLite的文档,其中还包括了让另一个RDBMS更好地工作的一系列情况。
兄弟会高洛峰免费收徒:http://www.hdb.com/party/lzcw-comm.html
免费领取LAMP兄弟连原创PHP视频教程光盘/《细说PHP》精要版,详情咨询官网客服:
http://www.lampbrother.net
【兄弟连IT教育】学PHP、Linux、HTML5、UI、Android等视频教程(课件+笔记+视频)!
网盘教程下载:http://pan.baidu.com/s/1sjOJiAL

以上就介绍了2016年应该使用SQLite的5大原因,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
PHP dalam Tindakan: Contoh dan aplikasi dunia nyataPHP dalam Tindakan: Contoh dan aplikasi dunia nyataApr 14, 2025 am 12:19 AM

PHP digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan pembangunan API. 1) e-dagang: Digunakan untuk fungsi keranjang belanja dan pemprosesan pembayaran. 2) Sistem Pengurusan Kandungan: Digunakan untuk penjanaan kandungan dinamik dan pengurusan pengguna. 3) Pembangunan API: Digunakan untuk Pembangunan API RESTful dan Keselamatan API. Melalui pengoptimuman prestasi dan amalan terbaik, kecekapan dan pemeliharaan aplikasi PHP bertambah baik.

PHP: Membuat kandungan web interaktif dengan mudahPHP: Membuat kandungan web interaktif dengan mudahApr 14, 2025 am 12:15 AM

PHP menjadikannya mudah untuk membuat kandungan web interaktif. 1) Secara dinamik menjana kandungan dengan memasukkan HTML dan paparkannya dalam masa nyata berdasarkan input pengguna atau data pangkalan data. 2) Penyerahan borang proses dan menjana output dinamik untuk memastikan bahawa htmlspecialchars digunakan untuk mencegah XSS. 3) Gunakan MySQL untuk membuat sistem pendaftaran pengguna, dan gunakan kata laluan dan preprocessing untuk meningkatkan keselamatan. Menguasai teknik ini akan meningkatkan kecekapan pembangunan web.

PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popularPHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popularApr 14, 2025 am 12:13 AM

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

Relevannya PHP: Adakah ia masih hidup?Relevannya PHP: Adakah ia masih hidup?Apr 14, 2025 am 12:12 AM

PHP masih dinamik dan masih menduduki kedudukan penting dalam bidang pengaturcaraan moden. 1) kesederhanaan PHP dan sokongan komuniti yang kuat menjadikannya digunakan secara meluas dalam pembangunan web; 2) fleksibiliti dan kestabilannya menjadikannya cemerlang dalam mengendalikan borang web, operasi pangkalan data dan pemprosesan fail; 3) PHP sentiasa berkembang dan mengoptimumkan, sesuai untuk pemula dan pemaju yang berpengalaman.

Status Semasa PHP: Lihat trend pembangunan webStatus Semasa PHP: Lihat trend pembangunan webApr 13, 2025 am 12:20 AM

PHP tetap penting dalam pembangunan web moden, terutamanya dalam pengurusan kandungan dan platform e-dagang. 1) PHP mempunyai ekosistem yang kaya dan sokongan rangka kerja yang kuat, seperti Laravel dan Symfony. 2) Pengoptimuman prestasi boleh dicapai melalui OPCACHE dan NGINX. 3) Php8.0 memperkenalkan pengkompil JIT untuk meningkatkan prestasi. 4) Aplikasi awan asli dikerahkan melalui Docker dan Kubernet untuk meningkatkan fleksibiliti dan skalabiliti.

PHP vs Bahasa Lain: PerbandinganPHP vs Bahasa Lain: PerbandinganApr 13, 2025 am 12:19 AM

PHP sesuai untuk pembangunan web, terutamanya dalam pembangunan pesat dan memproses kandungan dinamik, tetapi tidak baik pada sains data dan aplikasi peringkat perusahaan. Berbanding dengan Python, PHP mempunyai lebih banyak kelebihan dalam pembangunan web, tetapi tidak sebaik python dalam bidang sains data; Berbanding dengan Java, PHP melakukan lebih buruk dalam aplikasi peringkat perusahaan, tetapi lebih fleksibel dalam pembangunan web; Berbanding dengan JavaScript, PHP lebih ringkas dalam pembangunan back-end, tetapi tidak sebaik JavaScript dalam pembangunan front-end.

PHP vs Python: Ciri dan Fungsi TerasPHP vs Python: Ciri dan Fungsi TerasApr 13, 2025 am 12:16 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri dan sesuai untuk senario yang berbeza. 1.PHP sesuai untuk pembangunan web dan menyediakan pelayan web terbina dalam dan perpustakaan fungsi yang kaya. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan standard yang kuat. Apabila memilih, ia harus diputuskan berdasarkan keperluan projek.

PHP: Bahasa utama untuk pembangunan webPHP: Bahasa utama untuk pembangunan webApr 13, 2025 am 12:08 AM

PHP adalah bahasa skrip yang digunakan secara meluas di sisi pelayan, terutamanya sesuai untuk pembangunan web. 1.PHP boleh membenamkan HTML, memproses permintaan dan respons HTTP, dan menyokong pelbagai pangkalan data. 2.PHP digunakan untuk menjana kandungan web dinamik, data borang proses, pangkalan data akses, dan lain -lain, dengan sokongan komuniti yang kuat dan sumber sumber terbuka. 3. PHP adalah bahasa yang ditafsirkan, dan proses pelaksanaan termasuk analisis leksikal, analisis tatabahasa, penyusunan dan pelaksanaan. 4.Php boleh digabungkan dengan MySQL untuk aplikasi lanjutan seperti sistem pendaftaran pengguna. 5. Apabila debugging php, anda boleh menggunakan fungsi seperti error_reporting () dan var_dump (). 6. Mengoptimumkan kod PHP untuk menggunakan mekanisme caching, mengoptimumkan pertanyaan pangkalan data dan menggunakan fungsi terbina dalam. 7

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.