1. Redis là gì:
Redis hay còn gọi là bộ lưu trữ khóa – giá trị và được lưu trữ trên RAM. Thường được xem như hệ cơ sở dữ liệu noSQL.
2. Cài đặt:
Có nhiều cách để cài đặt Redis như cài trực tiếp trực tiếp trên server, máy local hoặc sử dụng docker. Ở đây đơn giản nhất mình sử dụng docker để tạo ra 1 server redis. Gồm 2 bước đơn giản sau:
- Pull Redis từ docker hub về: docker pull redis
- Chạy redis, mapping cho nó 1 port bên ngoài vào: docker run -d -p 6379:6379 –name redis redis
3. Sử dụng:
- Chúng ta có thể sử dụng lệnh SET để lưu giá trị “fido” với từ khóa “server:name”
SET server:name "fido"
- Redis lưu trữ dữ liệu “fido” và khi chúng ta cần truy xuất dữ liệu của khóa “server:name”, Redis sẽ trả về kết quả “fido”
GET server:name => "fido"
- Một số các phép toán phổ biến khác được cung cấp như DEL để xóa khóa với giá trị đã cung cấp trước đó, SET là từ khóa dùng để thiết lập cho một khóa nếu khóa đó chưa tồn tại, và phép toán INCR tăng 1 số xác định được cung cấp bởi từ khóa trước đó
SET connections 10 INCR connections => 11 INCR connections => 12 DEL connections INCR connections => 1
- Redis có thể cho biết rằng 1 khóa có thể tồn tại trong 1 thời gian nhất định, điều này được sử dụng với các lệnh EXPIRE và TLL
-
SET hello "world" EXPIRE hello 120
Điều này có nghĩa là khóa hello chỉ tồn tại trong 120 s, sau đó nó sẽ bị xóa đi. Sau 120s thì GET hello sẽ trả về giá trị nil
Để xem thời gian sống của khóa còn lại bao nhiêu bạn sài TTLTTL hello => 113 // after 120s TTL hello => -2
TTL trả về -2 có nghĩa là khóa không tồn tại, còn trả về -1 là khóa không bao giờ hết hạn.
- Redis cũng hổ trợ 1 số cấu trúc dữ liệu phức tạp hơn. Đó là danh sách, bao gồm RPUSH, LPUSH, LPOP, RPOP, LLEN, và LRANGE
RPUSH là thêm 1 giá trị vào cuối danh sáchRPUSH friends "Alice" RPUSH friends "Bob"
LPUSH là thêm 1 giá trị và đầu danh sách
LPUSH friends "Sam"
LLEN là kiểm tra chiều dài của danh sách
LRANGE là trả về 1 tập hợp con từ danh sách, gồm có 2 tham số, tham số 1 là chỉ số của phần tử đầu, tham số thứ 2 là chỉ số của phần tử cuối. Nếu tham số 2 là -1 có nghĩa là lấy cho tới cuối danh sáchLRANGE friends 0 -1 => 1) "Sam", 2) "Alice", 3) "Bob" LRANGE friends 0 1 => 1) "Sam", 2) "Alice" LRANGE friends 1 2 => 1) "Alice", 2) "Bob"
Còn tiếp…