Aplikasi pangkalan data PHP dan Cassandra
Dengan pembangunan berterusan teknologi Internet, fungsi dan skala aplikasi Web terus berkembang, dan keperluan untuk akses pangkalan data juga semakin tinggi dan lebih tinggi. Ini telah mendorong pembangun untuk mencari penyelesaian pangkalan data baharu untuk meningkatkan prestasi dan kebolehskalaan aplikasi web. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP dan pangkalan data Cassandra untuk membina aplikasi web berprestasi tinggi dan boleh skala.
1. Apakah itu pangkalan data Cassandra
Cassandra ialah sistem pangkalan data NoSQL yang diedarkan sumber terbuka, pada asalnya dibangunkan oleh Facebook dan kini diselenggara oleh Yayasan Apache. Konsepnya adalah untuk mengambil kira ketersediaan data, skalabiliti dan toleransi kesalahan sambil memastikan prestasi tinggi.
Ciri pangkalan data Cassandra termasuk:
- Storan teragih: Cassandra menggunakan storan teragih, dan data akan diedarkan dan disimpan pada berbilang nod untuk memastikan data antara setiap nod sandaran meningkatkan kebolehpercayaan dan ketersediaan.
- Storan lajur: Cassandra menggunakan storan lajur dan menyimpan setiap baris data sebagai "keluarga lajur" untuk lebih fleksibiliti.
- Ketekalan data: Cassandra menyediakan ketersediaan tinggi dan pemulihan data melalui replikasi data automatik dalam kelompok, dan boleh mencapai keperluan prestasi yang berbeza melalui tahap konsistensi boleh laras.
- Skalabiliti: Cassandra menyokong penambahan dan penyingkiran nod dinamik, dan boleh berkembang secara mendatar dengan cekap.
- Prestasi tinggi: Cassandra mempertingkatkan prestasi baca dan tulis melalui penulisan dan pengindeksan tak segerak, sambil menambah baik keselarasan melalui strategi pengimbangan beban.
2. PHP bersambung ke pangkalan data Cassandra
Pangkalan data Cassandra menyokong pelbagai API pelanggan, antaranya penyataan PHP dan CQL merupakan salah satu cara yang paling mudah. CQL ialah singkatan Bahasa Pertanyaan Cassandra, yang serupa dengan SQL, tetapi mempunyai jenis data yang lebih kaya dan menyokong operasi pertanyaan teragih yang kompleks.
Di bawah ini kami menggunakan pemacu cassandra PHP untuk menyambung dan mengendalikan pangkalan data Cassandra.
- Pasang cassandra-driver
Cassandra-driver PHP boleh dipasang melalui komposer. Buka baris arahan, masukkan direktori akar projek anda, dan jalankan arahan berikut:
composer require datastax/php-driver
- Sambung ke Cassandra
Untuk menyambung ke Cassandra, anda perlu mengetahui sambungan hos dan nombor port. Berikut ialah satu kod Contoh untuk menyambung kepada Cassandra:
<?php //连接Cassandra $cluster = Cassandra::cluster() ->withContactPoints('127.0.0.1') ->withPort(9042) ->build(); $session = $cluster->connect(); ?>
Kod di atas mencipta titik sambungan perkhidmatan Cassandra melalui kaedah cluster() dan menyambung kepadanya melalui kaedah connect(). Antaranya, 127.0.0.1 menunjukkan alamat IP perkhidmatan Cassandra, dan 9042 menunjukkan nombor port perkhidmatan Cassandra.
- Laksanakan penyataan CQL
Penyataan CQL digunakan untuk berinteraksi dengan pangkalan data Cassandra Anda boleh melaksanakan penyataan CQL dengan mudah menggunakan pemacu cassandra PHP. Berikut ialah contoh kod untuk melaksanakan pernyataan CQL:
<?php //执行CQL语句 $cql = "SELECT * FROM mykeyspace.mytable WHERE id='123'"; $statement = new CassandraSimpleStatement($cql); $result = $session->execute($statement); ?>
Kod di atas menggunakan kelas SimpleStatement untuk mencipta pernyataan pertanyaan CQL, kemudian menggunakan kaedah execute() untuk melaksanakan pernyataan dan menyimpan hasil pertanyaan dalam pembolehubah $hasil.
- Sisipkan data
Pangkalan data Cassandra menyokong memasukkan data format JSON dengan fleksibiliti yang tinggi. Berikut ialah contoh kod:
<?php //插入数据 $cql = "INSERT INTO mykeyspace.mytable JSON '{"id": "123", "name": "Tom", "age": 18}'"; $statement = new CassandraSimpleStatement($cql); $session->execute($statement); ?>
Kod di atas mentakrifkan data format JSON dan memasukkannya ke dalam jadual mykeyspace.mytable melalui pernyataan CQL.
3. Contoh aplikasi
Di bawah ini kami menggabungkan aplikasi web mudah untuk menunjukkan cara menggunakan pangkalan data PHP dan Cassandra untuk membina aplikasi berprestasi tinggi dan berskala. Aplikasi sampel ini menyediakan fungsi log masuk dan pendaftaran serta menggunakan pangkalan data Cassandra untuk menyimpan maklumat pengguna.
- Buat jadual Cassandra
Pertama, kita perlu mencipta jadual dalam pangkalan data Cassandra untuk menyimpan maklumat pengguna. Berikut ialah contoh pernyataan CQL:
CREATE KEYSPACE mykeyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true; CREATE TABLE mykeyspace.users ( id text PRIMARY KEY, username text, email text, password text );
Kod di atas mencipta ruang kekunci bernama "mykeyspace" dan mencipta jadual bernama "pengguna" di dalamnya. Jadual mengandungi 4 lajur, iaitu id, nama pengguna, e-mel dan kata laluan, di mana id adalah kunci utama.
- Melaksanakan fungsi pendaftaran pengguna
Berikut ialah contoh kod untuk halaman pendaftaran pengguna:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>User Registration</title> </head> <body> <h2>User Registration</h2> <form method="post" action="register.php"> <label for="username">Username:</label> <input type="text" name="username" id="username"><br> <label for="email">Email:</label> <input type="email" name="email" id="email"><br> <label for="password">Password:</label> <input type="password" name="password" id="password"><br> <input type="submit" name="submit" value="Register"> </form> </body> </html>
Kod di atas mencipta kotak input dengan 3 kotak input Borang pendaftaran, di mana nama pengguna, e-mel dan kata laluan diperlukan.
Kemudian, kita perlu menulis kod PHP dalam fail register.php untuk menyimpan maklumat pendaftaran pengguna dalam pangkalan data Cassandra:
<?php //连接Cassandra $cluster = Cassandra::cluster() ->withContactPoints('127.0.0.1') ->withPort(9042) ->build(); $session = $cluster->connect(); //获取表单数据 $username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; //生成一个唯一的ID $id = uniqid(); //将注册信息插入到Cassandra表中 $cql = "INSERT INTO mykeyspace.users (id, username, email, password) VALUES (?, ?, ?, ?)"; $statement = new CassandraSimpleStatement($cql); $session->execute($statement, array($id, $username, $email, $password)); //跳转到登录页面 header('Location: login.php'); ?>
Kod di atas mendapat data yang diserahkan daripada borang dan menjana ID unik. Kemudian masukkan maklumat pengguna ke dalam jadual Cassandra dan lompat ke halaman log masuk.
- Laksanakan fungsi log masuk pengguna
Berikut ialah contoh kod untuk halaman log masuk pengguna:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>User Login</title> </head> <body> <h2>User Login</h2> <form method="post" action="login.php"> <label for="username">Username:</label> <input type="text" name="username" id="username"><br> <label for="password">Password:</label> <input type="password" name="password" id="password"><br> <input type="submit" name="submit" value="Login"> </form> </body> </html>
Kod di atas mencipta kotak input dengan 2 kotak masukan borang log masuk.
Kemudian, kita perlu menulis kod PHP dalam fail login.php untuk mengesahkan maklumat log masuk pengguna dalam pangkalan data Cassandra:
<?php //连接Cassandra $cluster = Cassandra::cluster() ->withContactPoints('127.0.0.1') ->withPort(9042) ->build(); $session = $cluster->connect(); //获取表单数据 $username = $_POST['username']; $password = $_POST['password']; //查询用户信息 $cql = "SELECT * FROM mykeyspace.users WHERE username=? AND password=?"; $statement = new CassandraSimpleStatement($cql); $result = $session->execute($statement, array($username, $password)); //验证用户信息 if (count($result) > 0) { //登录成功 header('Location: home.php'); } else { //登录失败 echo 'Login failed.'; } ?>
Kod di atas mendapat nama pengguna dan kata laluan daripada penyerahan borang dan meneruskannya melalui Penyata CQL untuk menanyakan maklumat pengguna dari jadual Cassandra. Jika hasil pertanyaan tidak kosong, log masuk berjaya jika tidak, log masuk gagal.
4
Pangkalan data Cassandra ialah sistem pangkalan data NoSQL yang sangat baik dengan prestasi tinggi, berskala, toleransi kesalahan dan konsistensi data, serta sesuai untuk mengendalikan keperluan akses aplikasi web berskala besar. Pemacu cassandra PHP menyediakan API untuk menyambung dan beroperasi dengan pangkalan data Cassandra, menjadikannya mudah untuk membangunkan aplikasi web berprestasi tinggi dan boleh skala. Artikel ini menunjukkan cara menggunakan pangkalan data PHP dan Cassandra untuk membina sistem pendaftaran dan log masuk pengguna yang mudah melalui program contoh, dengan harapan dapat memberikan sedikit rujukan untuk pembangun.
Atas ialah kandungan terperinci Aplikasi pangkalan data PHP dan Cassandra. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
