Rumah pembangunan bahagian belakang tutorial php Aplikasi pangkalan data PHP dan Cassandra

Aplikasi pangkalan data PHP dan Cassandra

Jun 19, 2023 pm 04:34 PM
php permohonan 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:

  1. 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.
  2. Storan lajur: Cassandra menggunakan storan lajur dan menyimpan setiap baris data sebagai "keluarga lajur" untuk lebih fleksibiliti.
  3. 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.
  4. Skalabiliti: Cassandra menyokong penambahan dan penyingkiran nod dinamik, dan boleh berkembang secara mendatar dengan cekap.
  5. 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.

  1. 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
Salin selepas log masuk
  1. 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();
?>
Salin selepas log masuk

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.

  1. 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);
?>
Salin selepas log masuk

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.

  1. 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);
?>
Salin selepas log masuk

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.

  1. 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
);
Salin selepas log masuk

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.

  1. 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>
Salin selepas log masuk

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');
?>
Salin selepas log masuk

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.

  1. 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>
Salin selepas log masuk

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.';
}
?>
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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

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.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

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

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

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

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

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

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

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

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

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,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

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

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

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 Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

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.

See all articles