Cara menggunakan Cassandra untuk penyimpanan data dalam Workerman
Dalam pembangunan perisian hari ini, kaedah penyimpanan data dan enjin yang berbeza digunakan secara meluas. Cassandra, sebagai pangkalan data NoSQL yang diedarkan dengan ketersediaan tinggi, memainkan peranan penting dalam bidang data besar. Artikel ini akan memperkenalkan cara menggunakan Cassandra untuk penyimpanan data dalam Workerman dan memberikan contoh kod yang berkaitan.
Sebelum kita mula menggunakan Cassandra, kita perlu memasang sambungan PHP Cassandra. Jalankan arahan berikut dalam terminal untuk memasang:
sudo apt-get install libuv-dev libssl-dev libcurl4-openssl-dev libsasl2-dev pecl install cassandra
Selepas pemasangan selesai, anda juga perlu menambah baris berikut pada fail php.ini:
extension=cassandra.so
Mulakan semula pelayan web PHP untuk perubahan berkuat kuasa.
Seterusnya, kita perlu mengkonfigurasi maklumat sambungan Cassandra untuk digunakan dalam Workerman. Cipta fail PHP baharu bernama cassandra.php dan tambah kandungan berikut:
<?php require 'vendor/autoload.php'; use CassandraCluster; use CassandraSimpleStatement; $cluster = Cluster::build() ->withContactPoints('127.0.0.1') // Cassandra节点IP地址 ->withPort(9042) // Cassandra端口号 ->withDefaultConsistency(1) ->build(); $session = $cluster->connect('mykeyspace'); // 替换为你自己的keyspace名称 function execute_query($query) { global $session; $result = $session->execute(new SimpleStatement($query)); return $result; }
Dalam kod ini, kami menggunakan pemacu PHP Cassandra untuk mewujudkan sambungan kepada pangkalan data Cassandra dan mentakrifkan fungsi execute_query untuk pelaksanaan pernyataan pertanyaan CQL.
Seterusnya, kami akan menunjukkan cara menggunakan Cassandra dalam Workerman untuk penyimpanan data. Pertama, kita perlu memperkenalkan konfigurasi sambungan Cassandra dalam projek Workerman. Cipta fail PHP baharu, namakannya worker.php dan tambah kandungan berikut:
<?php require_once 'cassandra.php'; use WorkermanWorker; use WorkermanProtocolsHttpResponse; $http_worker = new Worker('http://0.0.0.0:8000'); $http_worker->onMessage = function ($connection, $request) { $path = $request->path(); $result = ''; if ($path == '/save') { $name = $_POST['name']; $email = $_POST['email']; $query = "INSERT INTO users (name, email) VALUES ('$name', '$email')"; execute_query($query); $result = 'Data saved successfully'; } $response = new Response(200, [], $result); $connection->send($response); }; Worker::runAll();
Dalam kod ini, kami mencipta Http Worker dan mentakrifkan fungsi panggil balik onMessage untuk mengendalikan permintaan HTTP. Jika laluan yang diminta ialah /save, kami mendapat nama dan e-mel daripada parameter POST dan memasukkannya ke dalam pangkalan data Cassandra.
Sekarang kami telah melengkapkan konfigurasi sambungan Cassandra dan Workerman, kami boleh memulakan pelayan Workerman. Jalankan arahan berikut dalam terminal:
php worker.php start
Pelayan akan mula berjalan pada masa ini dan mendengar pada port 8000.
Masukkan URL berikut dalam penyemak imbas untuk menguji:
http://localhost:8000/save
Tambah nama dan e-mel pada parameter POST dan klik untuk menghantar permintaan. Jika semuanya berjalan lancar, anda akan menerima respons yang menunjukkan bahawa data telah berjaya disimpan.
Ringkasan
Artikel ini memperkenalkan cara menggunakan Cassandra untuk penyimpanan data dalam Workerman. Dengan memasang sambungan PHP Cassandra, mengkonfigurasi maklumat sambungan Cassandra, dan menulis kod yang sepadan dalam Workerman, kami boleh berinteraksi dengan mudah dengan pangkalan data Cassandra dan melaksanakan fungsi penyimpanan data. Saya harap artikel ini dapat memberi anda sedikit bantuan apabila menggunakan Workerman dan Cassandra.
Atas ialah kandungan terperinci Cara menggunakan Cassandra untuk penyimpanan data dalam Workerman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!