


Analisis arahan yang berkaitan dengan jenis data senarai redis dan cara menggunakannya
Pengenalan kepada senarai
senarai ialah tatasusunan rentetan yang diisih mengikut tertib sisipan (dalam istilah awam, ia masih menyimpan rentetan ). Anda boleh menambah elemen pada kepala (kiri) atau ekor (kanan) senarai dan senarai boleh mengandungi sehingga ^32-1 elemen (lebih daripada 4 bilion elemen setiap senarai).
Senarai dalam Redis sangat serupa dengan LinkedList di Java Lapisan bawah ialah struktur senarai terpaut Operasi penyisipan dan pemadaman senarai adalah sangat pantas, dengan kerumitan masa daripada 0(1). Tidak seperti operasi pemasukan dan pemadaman struktur tatasusunan, data perlu dialihkan. Walaupun nampaknya masih merupakan senarai, pelaksanaan asas senarai dalam Redis tidak terhad kepada senarai pautan berganda yang mudah.
Apabila jumlah data adalah kecil, struktur storan asasnya ialah sekeping memori berterusan, dipanggil ziplist (senarai termampat), yang menyimpan dan memperuntukkan semua elemen rapat bersama-sama adalah sekeping berterusan memori; apabila jumlah data adalah besar, ia akan menjadi struktur senarai pantas (senarai pautan cepat).
Tetapi senarai terpaut yang ringkas juga cacat Penunjuk senarai terpaut sebelumnya dan seterusnya akan menduduki lebih banyak memori, membuang ruang dan meningkatkan pemecahan memori. Sejak Redis 3.2, Redis menggunakan senarai cepat struktur data hibrid (senarai pautan cepat), yang terdiri daripada senarai zip dan senarai terpaut.
Arahan biasa
Tambah arahan
lpush key value
Sisipkan elemen dari sebelah kiri (masukkan satu atau lebih nilai ke dalam Ketua senarai)
127.0.0.1:6379> lpush ids 1 (integer) 1 127.0.0.1:6379> lrange ids 0 -1 1) "1" 127.0.0.1:6379> lpush ids 2 (integer) 2 127.0.0.1:6379> lrange ids 0 -1 1) "2" 2) "1"
rpush key value
Sisipkan elemen dari sebelah kanan (masukkan satu atau lebih nilai ke dalam ekor (paling kanan) senarai)
127.0.0.1:6379> rpush ids 3 (integer) 3 127.0.0.1:6379> lrange ids 0 -1 1) "2" 2) "1" 3) "3"
linsert key BEFORE|AFTER pivot value
Sisipkan elemen sebelum/selepas elemen, dan hasil yang dikembalikan ialah panjang senarai semasa Ambil perhatian bahawa tiada operasi akan dilakukan apabila senarai tidak wujud atau elemen yang dinyatakan tidak wujud senarai itu.
//元素3前插入0 127.0.0.1:6379> linsert ids before 3 0 (integer) 4 127.0.0.1:6379> lrange ids 0 -1 1) "2" 2) "1" 3) "0" 4) "3" //元素3后插入0 127.0.0.1:6379> linsert ids after 3 4 (integer) 5 127.0.0.1:6379> lrange ids 0 -1 1) "2" 2) "1" 3) "0" 4) "3" 5) "4"
Arahan pertanyaan
lrange key start end
Dapatkan senarai elemen dalam julat yang ditentukan dalam senarai jika nilai mula lebih besar daripada nilai akhir senarai, kosong senarai akan dikembalikan
Seperti yang ditunjukkan di atas
lindex key index
Dapatkan elemen pada subskrip indeks yang ditentukan bagi senarai
127.0.0.1:6379> lindex ids 0 "2" 127.0.0.1:6379> lindex ids -1 "4"
llen key
Dapatkan panjang senarai; jika senarai itu tidak wujud, kembalikan 0
127.0.0.1:6379> llen ids (integer) 5
arahan timbul /Padam
lpop key
Elemen pop dari sebelah kiri senarai dan kembalikan elemen kepala
127.0.0.1:6379> lpop ids "2" 127.0.0.1:6379> lrange ids 0 -1 1) "1" 2) "0" 3) "3" 4) "4"
rpop key
Elemen pop dari sebelah kanan senarai dan kembalikan elemen ekor
127.0.0.1:6379> rpop ids "4" 127.0.0.1:6379> lrange ids 0 -1 1) "1" 2) "0" 3) "3"
lrem key count value
Cari elemen yang sama dengan nilai daripada senarai dan padamkannya. Ia dibahagikan kepada tiga situasi mengikut kiraan:
kira > ; 0, bermula dari hujung jadual ke kepala, keluarkan nilai mutlak elemen kiraan; 🎜>
memangkas senarai, iaitu senarai hanya mengekalkan elemen dalam julat yang ditentukan dan elemen yang tidak dalam julat yang ditentukan akan dipadamkan
127.0.0.1:6379> lrem ids 0 3 (integer) 1 127.0.0.1:6379> lrange ids 0 -1 1) "1" 2) "0"
ltrim key start end
127.0.0.1:6379> ltrim ids 0 0
OK
127.0.0.1:6379> lrange ids 0 -1
1) "1"
Salin selepas log masukSekat perintah pop timbul
127.0.0.1:6379> ltrim ids 0 0 OK 127.0.0.1:6379> lrange ids 0 -1 1) "1"
lset key index value
kunci blpop [kunci &hellip ] tamat masa
Alih keluar dan dapatkan elemen pertama senarai. Jika tiada unsur dalam senarai, senarai akan disekat sehingga tamat masa menunggu (dalam saat) atau elemen boleh pop ditemui
kunci brpop [kunci …] tamat masa
Alih keluar dan dapatkan elemen terakhir senarai Jika tiada elemen dalam senarai, senarai akan disekat sehingga tamat masa menunggu atau elemen timbul ditemuiBuka tiga tetingkap sambungan reids, yang pertama melaksanakan blpop, yang kedua melaksanakan brpop, dan pelaksanaan ketiga menambah:
Anda boleh melihat bahawa tingkap 1 dan 2 telah disekat di sini selepas pelaksanaan Ini kerana tiada unsur dalam id
Tetingkap 3 melaksanakan penambahan: lpush id 1 2 3 4 5 6Anda boleh melihat elemen yang sepadan muncul serta-merta dalam tingkap 1 dan 2:
Senario aplikasi
Likes in Moments List, comment list, ranking list: Arahan lpush dan arahan lrange boleh merealisasikan fungsi senarai terkini Setiap kali, arahan lpush digunakan untuk memasukkan elemen baharu ke dalam senarai, dan kemudian perintah lrange digunakan untuk membaca senarai elemen terkini.
Atas ialah kandungan terperinci Analisis arahan yang berkaitan dengan jenis data senarai redis dan cara menggunakannya. 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



Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

Cara Mengosongkan Data Redis: Gunakan perintah Flushall untuk membersihkan semua nilai utama. Gunakan perintah flushdb untuk membersihkan nilai utama pangkalan data yang dipilih sekarang. Gunakan Pilih untuk menukar pangkalan data, dan kemudian gunakan FlushDB untuk membersihkan pelbagai pangkalan data. Gunakan perintah DEL untuk memadam kunci tertentu. Gunakan alat REDIS-CLI untuk membersihkan data.

Menggunakan Arahan Redis memerlukan langkah -langkah berikut: Buka klien Redis. Masukkan arahan (nilai kunci kata kerja). Menyediakan parameter yang diperlukan (berbeza dari arahan ke arahan). Tekan Enter untuk melaksanakan arahan. Redis mengembalikan tindak balas yang menunjukkan hasil operasi (biasanya OK atau -r).

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Menggunakan REDIS untuk mengunci operasi memerlukan mendapatkan kunci melalui arahan SETNX, dan kemudian menggunakan perintah luput untuk menetapkan masa tamat tempoh. Langkah-langkah khusus adalah: (1) Gunakan arahan SETNX untuk cuba menetapkan pasangan nilai utama; (2) Gunakan perintah luput untuk menetapkan masa tamat tempoh untuk kunci; (3) Gunakan perintah DEL untuk memadam kunci apabila kunci tidak lagi diperlukan.

Cara terbaik untuk memahami kod sumber REDIS adalah dengan langkah demi langkah: Dapatkan akrab dengan asas -asas Redis. Pilih modul atau fungsi tertentu sebagai titik permulaan. Mulakan dengan titik masuk modul atau fungsi dan lihat baris kod mengikut baris. Lihat kod melalui rantaian panggilan fungsi. Berhati -hati dengan struktur data asas yang digunakan oleh REDIS. Kenal pasti algoritma yang digunakan oleh Redis.

Redis, sebagai middleware mesej, menyokong model penggunaan pengeluaran, dapat meneruskan mesej dan memastikan penghantaran yang boleh dipercayai. Menggunakan Redis sebagai middleware mesej membolehkan pematuhan latensi rendah, boleh dipercayai dan berskala.

Langkah -langkah untuk memulakan pelayan Redis termasuk: Pasang Redis mengikut sistem operasi. Mulakan perkhidmatan Redis melalui Redis-server (Linux/macOS) atau redis-server.exe (Windows). Gunakan redis-cli ping (linux/macOS) atau redis-cli.exe ping (windows) perintah untuk memeriksa status perkhidmatan. Gunakan klien Redis, seperti redis-cli, python, atau node.js untuk mengakses pelayan.
