Rumah  >  Artikel  >  pangkalan data  >  Apakah struktur data Redis?

Apakah struktur data Redis?

PHPz
PHPzke hadapan
2023-05-28 10:16:291171semak imbas

Redis ialah pangkalan data nilai kunci berprestasi tinggi. Kemunculan redis sebahagian besarnya telah mengimbangi kekurangan storan nilai utama seperti memcached, dan boleh memainkan peranan tambahan yang sangat baik kepada pangkalan data hubungan dalam beberapa situasi.

Apakah struktur data Redis?

1 Rentetan

Jenis rentetan ialah struktur data paling asas bagi redis Pertama, kuncinya ialah jenis rentetan dan beberapa struktur lain Ia dibina berdasarkan jenis rentetan, jadi jenis rentetan boleh menetapkan asas untuk mempelajari empat struktur data yang lain. Jenis rentetan sebenarnya boleh menjadi rentetan (rentetan ringkas, rentetan kompleks (xml, json), nombor (integer, nombor titik terapung), binari (imej, audio, video)), tetapi maksimum tidak boleh melebihi 512M.

Senario penggunaan: Fungsi cache: Senario penggunaan paling klasik untuk rentetan, redis ialah lapisan cache, dan Mysql ialah lapisan storan kebanyakan data permintaan diperoleh daripada redis konkurensi yang tinggi, Caching biasanya boleh mempercepatkan membaca dan menulis serta mengurangkan tekanan bahagian belakang. (Mengapa redis mempunyai ciri-ciri menyokong konkurensi tinggi akan diterangkan dalam artikel seterusnya). Kaunter: Banyak aplikasi menggunakan redis sebagai alat asas untuk mengira Ia boleh merealisasikan fungsi pengiraan pantas dan caching pertanyaan, dan data boleh dipindahkan ke sumber data lain dalam satu langkah. Komponen teras sistem kiraan mainan video ialah Redis, yang digunakan untuk mengira bilangan mainan video. Sesi kongsi: Untuk pertimbangan pengimbangan beban, perkhidmatan yang diedarkan akan mengimbangi akses kepada maklumat pengguna kepada pelayan yang berbeza Pengguna mungkin perlu log masuk semula apabila menyegarkan akses Untuk mengelakkan masalah ini, redis boleh digunakan untuk mengurus sesi pengguna secara berpusat , selagi ketersediaan dan skalabiliti redis yang tinggi dipastikan, setiap kemas kini pengguna atau pertanyaan maklumat log masuk diperoleh terus daripada redis. Had laju: Atas sebab keselamatan, pengguna dikehendaki memasukkan kod pengesahan telefon mudah alih setiap kali mereka log masuk. Untuk mengelakkan antara muka SMS daripada diakses dengan kerap, kekerapan pengguna mendapatkan kod pengesahan seminit akan dihadkan.

2. Hash

Dalam redis, jenis cincang merujuk kepada kunci itu sendiri dan struktur pasangan nilai kunci, seperti value={{field1,value1},……fieldN ,valueN}}

Struktur cincang lebih intuitif daripada penyirian rentetan dan lebih mudah untuk operasi kemas kini, jadi ia lebih sesuai untuk menyimpan maklumat dalam cache. Oleh itu, ia sering digunakan untuk pengurusan maklumat pengguna, dsb., tetapi jenis cincangan berbeza daripada pangkalan data relasi Jenis cincang adalah jarang, manakala pangkalan data relasi berstruktur sepenuhnya boleh melakukan pertanyaan perhubungan yang kompleks, dan redis Untuk mensimulasikan pertanyaan hubungan yang kompleks, pembangunan adalah sukar dan kos penyelenggaraan adalah tinggi.

3. Senarai

Jenis senarai digunakan untuk menyimpan berbilang rentetan tersusun dalam senarai menjadi satu elemen redis, anda boleh memasukkan (pubsh) dan pop (pop) pada kedua-dua hujung jadual baris gilir Anda juga boleh mendapatkan senarai elemen dalam julat tertentu, mendapatkan elemen dalam jadual di bawah indeks tertentu, dsb. Senarai adalah lebih. fleksibel Struktur data yang boleh bertindak sebagai timbunan dan baris gilir dan mempunyai banyak senario aplikasi dalam pembangunan sebenar.

Senarai mempunyai elemen tersusun, jadi anda boleh menggunakan subskrip indeks untuk mendapatkan elemen tunggal atau berbilang. Elemen dalam senarai boleh diulang.

Senario penggunaan: Baris gilir mesej: Gabungan perintah lpush+brpop Redis boleh merealisasikan baris gilir menyekat Pelanggan pengeluar menggunakan lupsh untuk memasukkan elemen dari sebelah kiri senarai apabila berbilang pelanggan pengguna menggunakan arahan brpop "Dapatkan" elemen di hujung senarai, berbilang pelanggan memastikan pengimbangan beban dan ketersediaan tinggi papan keratan penggunaan.png model baris gilir mesej↑ Setiap pengguna mempunyai senarai artikel sendiri dan kini senarai artikel perlu dipaparkan dalam halaman , anda boleh mempertimbangkan untuk menggunakan senarai pada masa ini Senarai ini bukan sahaja disusun, tetapi juga menyokong mendapatkan elemen mengikut julat indeks.

4. Koleksi

Jenis koleksi juga digunakan untuk menyimpan elemen berbilang rentetan, tetapi tidak seperti senarai, elemen pendua tidak dibenarkan dalam set dan elemen dalam set adalah tiada Dalam susunan, elemen tidak boleh diperolehi melalui subskrip indeks Selain daripada menyokong penambahan, pemadaman, pengubahsuaian dan carian dalam koleksi, redis juga menyokong set persilangan, kesatuan dan perbezaan bagi berbilang koleksi, dan jenis koleksi boleh digunakan secara rasional. , yang boleh diselesaikan dalam pembangunan sebenar Banyak isu praktikal.

Senario penggunaan: Teg: Senario penggunaan biasa untuk jenis koleksi Contohnya, seorang pengguna lebih berminat dengan hiburan dan sukan, dan yang lain mungkin berminat dengan berita Dengan data ini Anda boleh dapatkan orang yang mempunyai tag dan tag yang sama dengan hobi pengguna yang sama Data ini lebih penting untuk pengalaman pengguna dan kelekatan pengguna yang kuat. Penyelenggaraan perhubungan pengguna dan teg hendaklah dijalankan dalam transaksi yang sama untuk mengelakkan arahan tertentu daripada gagal dan menyebabkan ketidakkonsistenan data

5. Set Tertib

Set tersusun sudah pasti berkaitan dengan set. Set itu mengekalkan ciri yang tidak boleh mempunyai ahli pendua, tetapi perbezaannya ialah elemen dalam set tersusun boleh diisih berbeza daripada menggunakan subskrip indeks sebagai asas pengisihan untuk senarai ialah ia menetapkan skor untuk setiap elemen sebagai asas untuk pengisihan. (Elemen dalam set tertib tidak boleh diulang, tetapi csore boleh diulang, sama seperti nombor pelajar pelajar dalam kelas tidak boleh diulang, tetapi markah ujian mereka boleh sama).

Atas ialah kandungan terperinci Apakah struktur data Redis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam