Giới Thiệu
Bài viết gốc được xuất bản ngày 14 tháng 4 năm 2015 tại ObjectRocket.com/blog.
Redis® sử dụng command-line interface (CLI) đơn giản. Dù nó tương đối đơn giản, nó cung cấp một số tính năng thú vị mà bạn có thể không mong đợi. Hãy xem qua một số cơ bản và đi qua hầu hết chức năng và tính năng của client.
1: Kết Nối Và Xác Thực Trong Một Bước
Để bắt đầu, bạn có kết nối đơn giản:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword
127.0.0.1:6379> PING
PONG
Tuyệt vời! Bạn đã kết nối đến Redis server của riêng bạn và xác thực bằng mật khẩu.
2: Kết Nối Và Xác Thực Trong Hai Bước
Thay vào đó, bạn có thể bỏ qua tùy chọn -a và xác thực sau khi kết nối:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> AUTH mysupersecretpassword
OK
127.0.0.1:6379> PING
PONG
3: Kết Nối Và Xác Thực Qua UNIX Socket
Nếu Redis server và client chạy trên cùng máy, bạn có thể chọn kết nối qua UNIX® socket.
Lưu ý: Nếu bạn cung cấp hostname và port cũng như socket, redis-cli kết nối qua UNIX socket.
cweid@strange:~$ redis-cli -s /tmp/redis.sock
127.0.0.1:6379> AUTH mysupersecretpassword
OK
127.0.0.1:6379> PING
PONG
Ổn, bây giờ bạn hiểu cách kết nối và xác thực đến Redis instance qua dòng lệnh, hãy xem một số ví dụ về những điều hữu ích bạn có thể làm với nó.
4: Chạy Lệnh Và Gửi Output Ra Standard Out
Giả sử bạn muốn thực thi lệnh qua dòng lệnh và chỉ gửi output ra standard out:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword PING
PONG
5: Thực Thi Cùng Lệnh Nhiều Lần
Có thể bạn muốn thực thi cùng lệnh n số lần:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -r 4 PING
PONG
PONG
PONG
PONG
Lưu ý bạn thêm -r vào lệnh để cung cấp tùy chọn repeat.
6: Thực Thi Cùng Lệnh Nhiều Lần Với Độ Trễ 1 Giây
Thay vào đó, bạn có thể thêm độ trễ bằng -i kết hợp với -r.
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -i 1 -r 4 PING
PONG
PONG
PONG
PONG
Lệnh này thêm 1 giây sleep giữa mỗi lệnh PING.
7: Thay Đổi Độ Trễ Thực Thi Lặp Lại Dưới Giây
Bạn cũng có thể cung cấp sub-second cho tùy chọn -i bằng số thực:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -i 0.1 -r 4 PING
PONG
PONG
PONG
PONG
Lệnh này chạy PING mỗi 1/10 giây.
8: Lấy Thông Tin Chẩn Đoán Về Redis Instance
Để tạo thông tin chẩn đoán đơn giản về Redis instance bạn kết nối, chỉ cần chạy redis-cli với tùy chọn –stat.
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword --stat
------- data ------ --------------------- load -------------------- - child - keys mem clients blocked requests connections
0 790.80K 1 0 122 (+0) 16
0 790.80K 1 0 123 (+1) 16
0 790.80K 1 0 124 (+1) 16
0 790.80K 1 0 125 (+1) 16
0 790.80K 1 0 126 (+1) 16
0 790.80K 1 0 127 (+1) 16
Lệnh này cung cấp thông tin sau:
- Số lượng keys được đặt trên server
- Tổng bộ nhớ server sử dụng
- Tổng số client kết nối hoặc bị block
- Tổng số request server đã phục vụ
- Số lượng kết nối hiện tại tổng cộng
Dùng lệnh này để có cái nhìn tổng quan về Redis server. Hãy nghĩ nó như stating a file.
9: Kiểm Tra Độ Trễ Lệnh Redis
Bây giờ bạn biết cách tạo stats đơn giản về Redis server, hãy kiểm tra độ trễ của các lệnh Redis đến. Bạn có thể làm điều này từ dòng lệnh:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword --latency
min: 0, max: 1, avg: 0.13 (763 samples)
Ở đây bạn thấy thời gian request tối thiểu, tối đa, trung bình, và số sample lấy được.
Lưu ý: Thông tin hiển thị bằng microseconds. Để biết thêm về Redis latency, xem tài liệu latency monitoring.
10: Phân Tích Keyspace Của Bạn
Để phân tích keyspace tìm kiếm string lớn hoặc cấu trúc dữ liệu khác, chạy tùy chọn –bigkeys. Lệnh này giúp bạn tìm key lớn trong keyspace. Nó cũng hiển thị số lượng phân phối loại key tổng thể.
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword --bigkeys
# Scanning the entire keyspace to find biggest keys as well as
# average sizes per key type. You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).
[00.00%] Biggest string found so far 'user:paul' with 4 bytes
[00.00%] Biggest string found so far 'barrrr' with 19612 bytes
-------- summary -------
Sampled 4 keys in the keyspace!
Total key length in bytes is 29 (avg len 7.25)
Biggest string found 'barrrr' has 19612 bytes
4 strings with 19624 bytes (100.00% of keys, avg size 4906.00)
0 lists with 0 items (00.00% of keys, avg size 0.00)
0 sets with 0 members (00.00% of keys, avg size 0.00)
0 hashs with 0 fields (00.00% of keys, avg size 0.00)
0 zsets with 0 members (00.00% of keys, avg size 0.00)
Output này cung cấp nhiều thông tin hữu ích về các key khác nhau, bao gồm loại và kích thước của chúng.
Kết Luận
Tổng thể, Redis CLI là công cụ mạnh mẽ giúp bạn quản lý Redis instance. Khả năng sử dụng các tùy chọn tích hợp thực sự giúp bạn phân tích Redis server gặp vấn đề.