Liệt kê tất cả các cơ sở dữ liệu Redis


192

Tôi đã chạy lệnh này để truy cập máy chủ redis của tôi.

telnet 127.0.0.1 6379

Bây giờ, tôi muốn hiển thị tất cả các cơ sở dữ liệu của tôi.

Xin vui lòng cho tôi biết lệnh này.

Cảm ơn.


Ý anh là gì? Hiển thị số lượng cơ sở dữ liệu có sẵn? Thông tin về cơ sở dữ liệu được sử dụng? ...?
Sybille Peters

Câu trả lời:


354

Không có lệnh để làm điều đó (ví dụ như bạn sẽ làm điều đó với MySQL). Số lượng cơ sở dữ liệu Redis được cố định và được đặt trong tệp cấu hình. Theo mặc định, bạn có 16 cơ sở dữ liệu. Mỗi cơ sở dữ liệu được xác định bởi một số (không phải tên).

Bạn có thể sử dụng lệnh sau để biết số lượng cơ sở dữ liệu:

CONFIG GET databases
1) "databases"
2) "16"

Bạn có thể sử dụng lệnh sau để liệt kê các cơ sở dữ liệu mà một số khóa được xác định:

INFO keyspace
# Keyspace
db0:keys=10,expires=0
db1:keys=1,expires=0
db3:keys=1,expires=0

Xin lưu ý rằng bạn phải sử dụng ứng dụng khách "redis-cli" để chạy các lệnh này, không phải telnet. Nếu bạn muốn sử dụng telnet, thì bạn cần chạy các lệnh này được định dạng bằng giao thức Redis.

Ví dụ:

*2
$4
INFO
$8
keyspace

$79
# Keyspace
db0:keys=10,expires=0
db1:keys=1,expires=0
db3:keys=1,expires=0

Bạn có thể tìm thấy mô tả về giao thức Redis tại đây: http://redis.io/topics/protatio


1
Không làm việc ở đây:INFO keyspace ERR wrong number of arguments for 'info' command
Matt

4
Bạn đang sử dụng phiên bản tiền 2.4? Quá cũ ... hãy thử gửi INFO mà không có tham số.
Didier Spezia

redis_version: 2.4.14 cũng không có không gian phím INFO.
hakre 6/07/2015

80

Hoặc bạn chỉ có thể chạy lệnh sau và bạn sẽ thấy tất cả các cơ sở dữ liệu của phiên bản Redis mà không cần kích hoạt redis-cli :

$ redis-cli INFO | grep ^db
db0:keys=1500,expires=2
db1:keys=200000,expires=1
db2:keys=350003,expires=1

80
Nhưng điều tương tự cũng có thể đạt được vớiredis-cli INFO keyspace
Roman Newaza

9
Downvote vì điều này là mong manh, có khả năng phá vỡ trong các bản phát hành trong tương lai và bởi vì có một lệnh được xây dựng (như đã đề cập) để đạt được kết quả tương tự.
Madbreaks

@RomanNewaza câu trả lời của bạn thực sự phải là câu trả lời được chấp nhận.
fbtb

9

bạn có thể dùng redis-cli INFO keyspace

localhost:8000> INFO keyspace
# Keyspace
db0:keys=7,expires=0,avg_ttl=0
db1:keys=1,expires=0,avg_ttl=0
db2:keys=1,expires=0,avg_ttl=0
db11:keys=1,expires=0,avg_ttl=0
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.