Jenis data Redis
Redis menyokong lima jenis data: rentetan (rentetan), cincang (cincang), senarai (senarai), set (set) dan zset (set diisih: set tersusun).
String (rentetan)
String ialah jenis redis yang paling asas Anda boleh memahaminya sebagai jenis yang sama seperti Memcached.
Jenis rentetan adalah selamat binari. Ini bermakna rentetan redis boleh mengandungi sebarang data. Contohnya, gambar jpg atau objek bersiri .
Jenis rentetan ialah jenis data paling asas bagi Redis, dan kunci boleh menyimpan sehingga 512MB.
Contoh
redis 127.0.0.1:6379> SET name "w3cschool.cc" OK redis 127.0.0.1:6379> GET name "w3cschool.cc"
Dalam contoh di atas kami menggunakan perintah SET dan GET Redis. Kuncinya ialah nama, dan nilai yang sepadan ialah w3cschool.cc.
Nota: Satu kunci boleh menyimpan sehingga 512MB.
Hash (Hash)
Hash Redis ialah koleksi pasangan nilai kunci.
Hash Redis ialah jadual pemetaan medan dan nilai jenis rentetan amat sesuai untuk menyimpan objek.
Contoh
redis 127.0.0.1:6379> HMSET user:1 username w3cschool.cc password w3cschool.cc points 200 OK redis 127.0.0.1:6379> HGETALL user:1 1) "username" 2) "w3cschool.cc" 3) "password" 4) "w3cschool.cc" 5) "points" 6) "200" redis 127.0.0.1:6379>
Dalam contoh di atas, jenis data cincang menyimpan objek pengguna yang mengandungi maklumat skrip pengguna. Dalam contoh, kami menggunakan perintah Redis HMSET, HGETALL dan pengguna:1 ialah nilai utama.
Setiap cincang boleh menyimpan 232 - 1 pasangan nilai kunci (lebih daripada 4 bilion).Senarai (Senarai)
Senarai Redis ialah senarai ringkas rentetan, diisih mengikut susunan sisipan. Anda boleh menambah elemen pada kepala (kiri) atau ekor (kanan) senarai.
Instance
redis 127.0.0.1:6379> lpush w3cschool.cc redis (integer) 1 redis 127.0.0.1:6379> lpush w3cschool.cc mongodb (integer) 2 redis 127.0.0.1:6379> lpush w3cschool.cc rabitmq (integer) 3 redis 127.0.0.1:6379> lrange w3cschool.cc 0 10 1) "rabitmq" 2) "mongodb" 3) "redis" redis 127.0.0.1:6379>
senarai boleh menyimpan sehingga 232 - 1 elemen (4294967295, setiap senarai boleh menyimpan lebih daripada 4 bilion).
Set (set)
Set Redis ialah koleksi jenis rentetan yang tidak tertib.
Koleksi dilaksanakan melalui jadual cincang, jadi kerumitan menambah, memadam dan mencari ialah O(1).
arahan sadd
menambah elemen rentetan pada koleksi set yang sepadan dengan kunci, dan mengembalikan 1 dengan jayanya Jika elemen berada dalam koleksi dan mengembalikan 0, set yang sepadan dengan kunci tidak wujud dan mengembalikan ralat.
sadd key member
Contoh
redis 127.0.0.1:6379> sadd w3cschool.cc redis (integer) 1 redis 127.0.0.1:6379> sadd w3cschool.cc mongodb (integer) 1 redis 127.0.0.1:6379> sadd w3cschool.cc rabitmq (integer) 1 redis 127.0.0.1:6379> sadd w3cschool.cc rabitmq (integer) 0 redis 127.0.0.1:6379> smembers w3cschool.cc 1) "rabitmq" 2) "mongodb" 3) "redis"
Nota: rabitmq ditambah dua kali dalam contoh di atas, tetapi mengikut keunikan elemen dalam koleksi, elemen yang dimasukkan kedua akan diabaikan .
Bilangan maksimum ahli dalam koleksi ialah 232 - 1 (4294967295, setiap koleksi boleh menyimpan lebih daripada 4 bilion ahli).
zset (set diisih: set tersusun)
Redis zset, seperti set, juga merupakan koleksi elemen jenis rentetan dan tidak membenarkan ahli pendua.Perbezaannya ialah setiap elemen dikaitkan dengan skor jenis berganda. Redis menggunakan markah untuk mengisih ahli koleksi daripada kecil kepada besar.
Ahli zset adalah unik, tetapi markah boleh diulang.
perintah zadd
menambah elemen pada koleksi Jika elemen wujud dalam koleksi, skor yang sepadan akan dikemas kini
zadd key score member
contoh
redis 127.0.0.1:6379> zadd w3cschool.cc 0 redis (integer) 1 redis 127.0.0.1:6379> zadd w3cschool.cc 0 mongodb (integer) 1 redis 127.0.0.1:6379> zadd w3cschool.cc 0 rabitmq (integer) 1 redis 127.0.0.1:6379> zadd w3cschool.cc 0 rabitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE w3cschool.cc 0 1000 1) "redis" 2) "mongodb" 3) "rabitmq"