01/10/2018, 15:34

Bài 3: Redis – Kiểu Dữ Liệu

Redis hổ trợ 5 kiểu dữ liệu sau: Strings Chuỗi trong redis là một dãy bay liên tục. Chuỗi trong Redis là nhị phân, nghĩa là chúng có chiều dài không xác định bởi bất kỳ ký tự kết thúc đặc biệt, vì thế bạn có thể lưu trữ bất cứ thứ gì lên đến 512 MB trong một chuỗi. Example: ...

Redis hổ trợ 5 kiểu dữ liệu sau:

Strings

Chuỗi trong redis là một dãy bay liên tục. Chuỗi trong Redis là nhị phân, nghĩa là chúng có chiều dài không xác định bởi bất kỳ ký tự kết thúc đặc biệt, vì thế bạn có thể lưu trữ bất cứ thứ gì lên đến 512 MB trong một chuỗi.

Example:

bai3_set_string

Trong ví dụ trên SET và GET là lệnh của redis, name  là key đã sử dụng trong redis và dammelaptrinh là giá trị chuỗi được lưu trữ trong redis.

Lưu ý: Một giá trị chuỗi có thể đạt tới 512 M chiều dài.

Hashes

Một Redis hash là một tập hợp của cặp key value. Redis Hashes được vẽ ra giữa string field và string value, vì vậy chúng thường sử dụng đại diện đối tượng.

EX:

bai3_hash

Trong ví dụ trên kiểu dữ liệu hash được sử dụng để lưu trữ đối tượng user mà chứa đựng thông tin cơ bản của user. Ở đây HMSET, HGETALL là các lệnh của redis và user:1 là key.

Mổi hash có thể lưu trữ tới 232 -1 cặp field-value (nhiều hơn 4 tỉ).

Lists

Redis Lists là danh sách của các chuỗi, Sắp xếp theo thứ tự chèn vào. Bạn có thể thêm element tới một List Redis vào đầu hoặc vào cuối.

EX:

bai3_list

Chiều dài tối đa của một list là 232 – 1 element (4294967295, hơn 4 tỉ của các element/list).

Sets

Redis Sets là một bổ sưu tập có thứ tự của chuỗi. Trong redis bạn có thể thêm, xóa và kiễm tra sự tồn tại của thành viên trong độ phứt tạp O(1) thời gian (cái này liên quan chút về cấu trúc dữ liệu, tính chi phí cho một thuật toán), bạn không cần biết nó như thế nào, chỉ hiểu là nó rất nhanh, O() là ký hiệu cho độ phứt tạp mà các nhà nghiên cứu quy ước.

EX:

bai3_set

Lưu ý: Trong ví dụ trên mysql được thêm 2 lần nhưng vì thuộc tính duy nhất của set nó chỉ được thêm một lần.

Số lượng lớn nhất của member trong set là 232 – 1 (hơn 4 tỉ member/set).

Sorted Sets

Redis Sorted Sets là tương tự Redis Sets,  không lặp lại bộ sưu tập của chuỗi. Điểm khác nhau là mổi member của một Sorted Set liên kết với điểm số, điểm số đó được sử dụng để tạo sorted set có thứ tự, từ nhỏ  nhất tới số cao nhất. Trong khi member là duy nhất, điểm số thì có thể lặp đi lặp lại.

EX:

bai3_sorted_set

Member PHP có điểm số là 2 nên nó được sắp cuối cùng.

Tóm tắt:

Trong bài học cho bạn nắm được cái kiểu dữ liệu mà Redis hổ trợ, trong đó lưu cả đối tượng( dạng hash), thêm giá trị có sắp xếp như set, sorted set hoặc là dạng danh sách, có thể thêm vào đầu hoặc vào cuối, giống như danh sách liên kiết trong cấu trúc dữ liệu. Rất tiện lợi và mạnh mẽ phải không các bạn.

Trong bài có sử dụng lệnh  của redis để làm ví dụ, bạn sẽ được học kỹ cho từng command ở bài kế tiếp. Còn bây giờ hãy mở terminal và thực hiện lại các ví dụ để kiễm tra.

0