Redis - Loại dữ liệu

Redis hỗ trợ 5 loại kiểu dữ liệu.

Dây

Chuỗi redis là một chuỗi các byte. Các chuỗi trong Redis là an toàn nhị phân, có nghĩa là chúng có độ dài đã biết không được xác định bởi bất kỳ ký tự kết thúc đặc biệt nào. Do đó, bạn có thể lưu trữ bất kỳ thứ gì lên đến 512 megabyte trong một chuỗi.

Thí dụ

redis 127.0.0.1:6379> SET name "tutorialspoint" 
OK 
redis 127.0.0.1:6379> GET name 
"tutorialspoint"

Trong ví dụ trên, SETGET là các lệnh của Redis, name là khóa được sử dụng trong Redis và tutorialspoint là giá trị chuỗi được lưu trữ trong Redis.

Note - Giá trị chuỗi có thể có độ dài tối đa 512 megabyte.

Băm

Hàm băm Redis là một tập hợp các cặp giá trị khóa. Redis Hashes là bản đồ giữa các trường chuỗi và giá trị chuỗi. Do đó, chúng được sử dụng để đại diện cho các đối tượng.

Thí dụ

redis 127.0.0.1:6379> HMSET user:1 username tutorialspoint password 
tutorialspoint points 200 
OK 
redis 127.0.0.1:6379> HGETALL user:1  
1) "username" 
2) "tutorialspoint" 
3) "password" 
4) "tutorialspoint" 
5) "points" 
6) "200"

Trong ví dụ trên, kiểu dữ liệu băm được sử dụng để lưu trữ đối tượng của người dùng chứa thông tin cơ bản của người dùng. ĐâyHMSET, HGETALL là các lệnh cho Redis, trong khi user − 1 là chìa khóa.

Mỗi băm có thể lưu trữ tối đa 2 cặp giá trị trường 32 - 1 (hơn 4 tỷ đồng).

Danh sách

Redis Lists đơn giản là danh sách các chuỗi, được sắp xếp theo thứ tự chèn. Bạn có thể thêm các phần tử vào Redis List ở phần đầu hoặc phần đuôi.

Thí dụ

redis 127.0.0.1:6379> lpush tutoriallist redis 
(integer) 1 
redis 127.0.0.1:6379> lpush tutoriallist mongodb 
(integer) 2 
redis 127.0.0.1:6379> lpush tutoriallist rabitmq 
(integer) 3 
redis 127.0.0.1:6379> lrange tutoriallist 0 10  

1) "rabitmq" 
2) "mongodb" 
3) "redis"

Độ dài tối đa của danh sách là 2 32 - 1 phần tử (4294967295, hơn 4 tỷ phần tử trên mỗi danh sách).

Bộ

Redis Sets là một tập hợp các chuỗi không có thứ tự. Trong Redis, bạn có thể thêm, xóa và kiểm tra sự tồn tại của các thành viên trong độ phức tạp thời gian O (1).

Thí dụ

redis 127.0.0.1:6379> sadd tutoriallist redis 
(integer) 1 
redis 127.0.0.1:6379> sadd tutoriallist mongodb 
(integer) 1 
redis 127.0.0.1:6379> sadd tutoriallist rabitmq 
(integer) 1 
redis 127.0.0.1:6379> sadd tutoriallist rabitmq 
(integer) 0 
redis 127.0.0.1:6379> smembers tutoriallist  

1) "rabitmq" 
2) "mongodb" 
3) "redis"

Note - Trong ví dụ trên, rabitmq được thêm hai lần, tuy nhiên do thuộc tính duy nhất của tập hợp, nó chỉ được thêm một lần.

Số lượng thành viên tối đa trong một tập hợp là 2 32 - 1 (4294967295, hơn 4 tỷ thành viên mỗi tập hợp).

Bộ đã sắp xếp

Redis Sorted Sets tương tự như Redis Sets, các tập hợp chuỗi không lặp lại. Sự khác biệt là, mọi thành viên của Tập hợp được sắp xếp được liên kết với một điểm số, được sử dụng để lấy tập hợp đã sắp xếp theo thứ tự, từ điểm nhỏ nhất đến điểm lớn nhất. Trong khi các thành viên là duy nhất, điểm số có thể được lặp lại.

Thí dụ

redis 127.0.0.1:6379> zadd tutoriallist 0 redis 
(integer) 1 
redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb 
(integer) 1 
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq 
(integer) 1 
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq 
(integer) 0 
redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 1000  

1) "redis" 
2) "mongodb" 
3) "rabitmq"