Rumah  >  Artikel  >  hujung hadapan web  >  Redis

Redis

WBOY
WBOYasal
2024-08-10 20:42:33448semak imbas

Redis

Redis ialah pangkalan data NOSQL di mana data disimpan dalam pasangan nilai kunci.
Redis menyimpan data pada memori utama yang bermaksud ia pantas tetapi tidak menentu tidak seperti sistem pangkalan data seperti PostgreSQL yang menyimpan data pada cakera.

Gambaran keseluruhan

Dalam aplikasi dengan pelayan dan pangkalan data, mengakses maklumat pada pangkalan data akan menyebabkan kependaman.

Pangkalan data Nilai Kunci seperti redis selalunya disimpan di hadapan pangkalan data tersebut dan operasi capaian mengambil 2 langkah:

  1. Jika maklumat berada dalam cache, tekan cache, aplikasi mendapatkan semula maklumat daripada redis dan menghantarnya kepada klien
  2. Jika tidak, cache miss, aplikasi mengambil maklumat daripada pangkalan data , menghantarnya kepada pelanggan dan menyimpannya dalam cache.

Dengan 2 langkah ini dan memandangkan memori utama mempunyai kependaman yang lebih rendah daripada cakera, kita boleh mengatakan bahawa redis boleh digunakan untuk menyimpan dan mengakses data yang kerap, terkini dan operasi mahal sekali gus menjadikan aplikasi 10 hingga 50x lebih pantas.

Justeru, adalah fakta bahawa jika anda akan membina aplikasi yang akan berskala pada masa hadapan, Redis(atau pangkalan data yang serupa dengan Redis) amat diperlukan.


Soalan

  1. Adakah Redis Sumber Terbuka?: Ya, Redis ialah sumber terbuka dengan jenis lesen khas tetapi terdapat alternatif seperti KeyDB oleh Snapchat dan Memcached yang merupakan sumber terbuka. KeyDB ialah garpu Redis tetapi setakat ini hanya boleh dijalankan pada Linux.

  2. Adakah Redis Menyokong Windows?: Tidak, Redis tidak menyokong Windows, tetapi anda boleh memasang WSL/Ubuntu dan memasang redis menggunakan

sudo apt install redis
  1. Saya menggunakan WSL, Mengapa pelayan redis tidak berfungsi pada sistem saya: Apabila berjalan pada WSL, anda boleh menjalankan pelayan redis menggunakan
redis-server --port 6000

di mana 6000 ialah port pada pelayan tempatan anda yang ingin anda jalankan. (iaitu 127.0.0.1:6000).

Kebanyakan isu adalah disebabkan oleh fakta bahawa port lalai yang digunakan pelayan redis sudah digunakan

  1. Adakah terdapat perpustakaan pelanggan untuk Redis?: Sebenarnya ya. anda boleh menemuinya di tapak web Redis atau anda boleh membinanya sendiri.

Memasang Redis

Di Linux, memasang redis semudah

sudo apt install redis

atau pada Mac:

brew install redis

Berlari Redis

Anda perlu mempunyai 2 kejadian terminal anda pada

pada yang pertama menjalankan pelayan anda

redis-server -port <portnumber>
</portnumber>

dan pada yang kedua untuk menjalankan pelanggan anda

redis-cli

Apabila membina apl web, anda tidak perlu menjalankan klien tetapi pelayan perlu dijalankan

Konsep Redis

Terdapat 3 konsep utama dalam redis yang anda harus faham atau 4

  1. Pasangan Nilai Utama
  2. Senarai
  3. Set
  4. Hashes

Semua struktur data lain terutamanya merupakan pelaksanaan lanjutan daripada yang pertama

Dengan senarai, saya maksudkan tatasusunan bukan senarai terpaut dan itulah redis memanggilnya.


Pasangan Nilai-Kekunci

Pasangan Nilai-Kekunci ialah struktur data biasa dalam kebanyakan bahasa pengaturcaraan.

  1. Dalam Python ia dipanggil kamus atau dict ringkasnya

  2. Dalam Javascript ia dipanggil Maps

  3. Dalam C# ia dipanggil Kamus

Terdapat 6 operasi utama untuk pasangan nilai kunci dalam Redis

Operations Explanations Examples Further Explanation
SET Creates a key-value pair SET name John Sets key to map to value
GET Gets value for key GET name This returns John
DEL Deletes the key value pair DEL name This removesthe key value pair name from the database
EXISTS Checks if a key exists in the redis database EXISTS name returns 1 or 0 corresponding to True or False
FLUSHALL Clears the entire cache FLUSHALL more or less like DROP TABLE in postgres
KEYS * Returns all the keys in the database KEYS *

Terdapat juga Operasi Berasaskan Masa. Dalam operasi berasaskan masa, kunci hanya berada dalam cache untuk tempoh masa yang ditetapkan, selepas masa tamat, cache memadamkan kunci.

Terdapat 2 Operasi Berasaskan Masa utama

Operations Explanations Examples Further Explanation
EXPIRE Expires a key after being defined EXPIRE name 10 Deletes the key-value name after 10s .The key must be defined with SET before calling EXPIRE . A common alternative is;
SETEX Expires a key upon definition SETEX age 30 15 Sets the key age to value 30 and thereafter deleted the key-value pair after 15s
TTL Time To Live TTL age Returns the time remaining before deletion of the age key

Blog semakin panjang sekarang, saya akan bercakap tentang senarai, set, peta hash dan juga soalan wawancara yang mungkin tentang redis dalam blog lain.

Sila jika anda mempunyai soalan, sila komen di bawah, saya akan cuba yang terbaik untuk menjawabnya ⭐. Selamat Mengekod

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

Kenyataan:
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