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.
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:
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.
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.
Adakah Redis Menyokong Windows?: Tidak, Redis tidak menyokong Windows, tetapi anda boleh memasang WSL/Ubuntu dan memasang redis menggunakan
sudo apt install redis
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
Di Linux, memasang redis semudah
sudo apt install redis
atau pada Mac:
brew install 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
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 ialah struktur data biasa dalam kebanyakan bahasa pengaturcaraan.
Dalam Python ia dipanggil kamus atau dict ringkasnya
Dalam Javascript ia dipanggil Maps
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!