Lists trong Redis là một tập hợp các giá trị có thứ tự, được sắp xếp theo thứ tự thêm vào. Đây là cấu trúc dữ liệu lý tưởng cho queue, stack, và activity feeds.
Lists là gì?
Redis List giống như một LinkedList — mỗi phần tử có link đến phần tử trước và sau. Điều này giúp:
- ✅ Thêm/xóa ở đầu hoặc cuối: O(1) — siêu nhanh
- ✅ Lấy phạm vi phần tử: O(S+N)
- ❌ Tìm kiếm phần tử: O(N) — chậm
Các lệnh cơ bản
| Lệnh | Độ phức tạp | Ghi chú |
|---|---|---|
| LPUSH / RPUSH / LPOP / RPOP | O(1) | Thao tác ở đầu/cuối list |
| LLEN | O(1) | Đếm số phần tử |
| LINDEX | O(N) | Truy cập theo index — tránh dùng trên list dài |
| LINSERT | O(N) | Chèn phần tử — phải duyệt list |
| LRANGE | O(S+N) | S=start, N=count phần tử |
| LREM | O(N+M) | N=list length, M=removed elements |
| BRPOP / BLPOP | O(N) | Blocking pop — N = số list theo dõi |
Thêm phần tử
# Thêm vào CUỐI list (Right)
RPUSH fruits "apple" "banana" "cherry"
# (integer) 3
# Thêm vào ĐẦU list (Left)
LPUSH fruits "mango"
# (integer) 4
# Thêm nhiều phần tử cùng lúc
RPUSH fruits "orange" "grape" "watermelon"
Lấy phần tử
# Lấy theo index (0-based)
LRANGE fruits 0 -1 # Tất cả phần tử
LRANGE fruits 0 2 # 3 phần tử đầu
LRANGE fruits -3 -1 # 3 phần tử cuối
# Lấy phần tử đầu/cuối
LINDEX fruits 0
LINDEX fruits -1
LLEN fruits

0 bình luận
Đang tải bình luận...
Để lại bình luận