Khi bạn đã thiết lập và chạy Redis, bạn có thể bắt đầu sử dụng nó!
Cách đơn giản nhất là sử dụng redis-cli
, một ứng dụng được cài đặt khi bạn cài đặt Redis.
Đó là một cách tích hợp để viết lệnh cho Redis mà không cần phải thiết lập ứng dụng để làm như vậy.
Bạn có thể kết nối với máy chủ Redis từ xa bằng
redis-cli -h <host> -p <port> -a <password>
Sau khi ở trong ứng dụng Redis CLI, bạn có thể bắt đầu lưu trữ dữ liệu vào đó.
Thêm giá trị bằng cấu trúc SET <key> <value>
:
SET name "Flavio"
Truy xuất giá trị
Lấy một giá trị bằng cấu trúc GET <key>
:
Kiểm tra xem khóa có tồn tại không
Chúng tôi cũng có thể kiểm tra xem khóa có tồn tại hay không bằng cách sử dụng EXISTS <key>
:
Lệnh trả về 1 (tồn tại) hoặc 0 (không tồn tại).
Đặt nếu không tồn tại
Một biến thể của SET
cho phép chúng tôi chỉ đặt một khóa nếu nó chưa tồn tại:
SETNX name "Roger"
Xóa khóa
Xóa khóa bằng DEL <key>
:
Liệt kê các khoá hiện có
Bạn có thể liệt kê tất cả các khóa được chèn bằng KEYS *
Hoặc bạn có thể lọc bằng một mẫu như KEYS n*
để chỉ liệt kê các khóa bắt đầu bằng n
, chẳng hạn.
Mỗi giá trị được lưu trữ có thể có giá trị lên đến 512 MB.
Các khóa sắp hết hạn
Một khóa có thể được lưu trữ tạm thời và tự động xóa khi bộ hẹn giờ kết thúc:
SETEX <key> <seconds> <value>
Bạn có thể nhận được thời gian còn lại để xóa khóa bằng cách sử dụng TTL <key>
Trong ví dụ này, tôi đặt một name
khóa với Flavio
dưới dạng giá trị và bằng cách sử dụng TTL, tôi có thể kiểm tra xem còn bao nhiêu thời gian nữa cho đến khi khóa sẽ trả về giá trị. Khi bộ hẹn giờ hết hạn, nó dẫn đến giá trị null (nil
):
Bạn cũng có thể đặt khóa hiện có thành hết hạn sử dụng EXPIRE <key> seconds>
.
Tăng và giảm
Giá trị số có thể được tăng lên bằng cách sử dụng INCR <key>
và giảm dần khi sử dụng DECR <key>
. Bạn cũng có thể sử dụng INCRBY <key> <amount>
và DECRBY <key> <amount>
để tăng giá trị khóa lên một số tiền cụ thể:
Các lệnh đó rất phù hợp cho các hoạt động đồng thời cao trong đó nhiều máy khách có thể tương tác với cùng một dữ liệu, để đảm bảo giao dịch nguyên tử .
Ví dụ phổ biến nhất là khi 2 khách hàng khác nhau cố gắng tăng cùng một số.
Trên cơ sở dữ liệu như PostgreSQL hoặc MongoDB, trước tiên, bạn nhận được giá trị số, bạn tăng giá trị đó, sau đó bạn thực hiện yêu cầu máy chủ tăng giá trị đó.
Giả sử giá trị là 1
. Nếu hai máy khách đọc giá trị bằng cách sử dụng GET
sau đó họ gọi SET
để tăng nó một cách độc lập, cuối cùng nếu không có gì ngăn cản sự thay đổi đồng thời xảy ra, kết quả sẽ là 2
. Redis ngăn chặn vấn đề này tận gốc.
Cấu trúc dữ liệu phức tạp hơn
Cho đến nay, chúng tôi đã làm việc với các kiểu dữ liệu đơn giản như số nguyên và chuỗi.
Redis có thể hỗ trợ các cấu trúc phức tạp hơn.
Hãy xem trong các bài học tiếp theo về cách làm việc với:
- Danh sách
- Bộ
- Tập hợp được sắp xếp
- Hàm băm