Sebagai sistem storan struktur data dalam memori sumber terbuka (berlesen BSD), Redis boleh digunakan sebagai pangkalan data, cache dan perisian tengah mesej. Ia menyokong banyak jenis struktur data, seperti rentetan, cincangan, senarai, set, set diisih dan pertanyaan julat, peta bit, hiperloglog dan pertanyaan jejari indeks geospatial ( geospatial).
Redis mempunyai replikasi terbina dalam, skrip LUA, pengusiran LRU, urus niaga dan tahap ketekunan cakera yang berbeza, dan dilaksanakan melalui Redis Sentinel ) dan pembahagian automatik (Kluster) menyediakan ketersediaan yang tinggi.
Redis adalah berdasarkan operasi memori CPU bukan kesesakan prestasi redis bergantung pada memori mesin dan jalur lebar boleh digunakan untuk melaksanakannya, hanya gunakan satu utas.
Jadi mengapa ia begitu pantas dengan satu utas?
Pertama sekali, terdapat dua salah faham yang perlu dijelaskan:
Pelayan berprestasi tinggi tidak semestinya berbilang benang.
Benang berbilang tidak semestinya lebih cekap daripada benang tunggal.
Redis meletakkan semua data ke dalam memori Jika terdapat berbilang rangkaian, akan ada konteks penukaran CPU, yang meningkatkan penggunaan masa Untuk sistem memori, tiada penukaran konteks Kecekapan operasi berulir tunggal adalah yang tertinggi.
Redis mempunyai 16 pangkalan data secara lalai, dan penggunaan lalai ialah pangkalan data pertama (subskrip 0). Anda boleh menyemak fail konfigurasi, terdapat database 16
di dalamnya.
select 3
untuk bertukar ke pangkalan data ke-4.
dbsize
Anda boleh melihat saiz pangkalan data semasa.
Pada masa ini, tetapkan nilai dalam pangkalan data dan semak semula saiz pangkalan data, dan ia akan berubah.
Kosongkan pangkalan data semasa
flushdb
Kosongkan semua pangkalan data
flushall
set name pingguo222
keys *
3 dapatkan nilai kunci
get name
4 < Jika 🎜> wujud, ia mengembalikan 1, jika ia tidak wujud, ia mengembalikan 0.
5 kekunci alih alihArahan MOVE adalah untuk mengalihkan kunci pangkalan data semasa ke pangkalan data db.
exists name
Saya tetapkan umur untuk tamat tempoh selepas 10s, saya tidak akan mendapatnya nilai.
move name 0
Saya tetapkan masa tamat tempoh nama kepada 100s dan gunakan ttl untuk menyemaknya.
expire age 10
ttl name
Atas ialah kandungan terperinci Contoh analisis arahan operasi biasa untuk bermula dengan Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!