How to List All Redis Databases?

前端 未结 3 1501
北恋
北恋 2020-12-12 08:59

I ran this command to access my redis server.

telnet 127.0.0.1 6379

What is the command to show all of my databases?

相关标签:
3条回答
  • 2020-12-12 09:50

    you can use 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
    
    0 讨论(0)
  • 2020-12-12 09:59

    There is no command to do it (like you would do it with MySQL for instance). The number of Redis databases is fixed, and set in the configuration file. By default, you have 16 databases. Each database is identified by a number (not a name).

    You can use the following command to know the number of databases:

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

    You can use the following command to list the databases for which some keys are defined:

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

    Please note that you are supposed to use the "redis-cli" client to run these commands, not telnet. If you want to use telnet, then you need to run these commands formatted using the Redis protocol.

    For instance:

    *2
    $4
    INFO
    $8
    keyspace
    
    $79
    # Keyspace
    db0:keys=10,expires=0
    db1:keys=1,expires=0
    db3:keys=1,expires=0
    

    You can find the description of the Redis protocol here: http://redis.io/topics/protocol

    0 讨论(0)
  • 2020-12-12 10:06

    Or you can just run the following command and you will see all databases of the Redis instance without firing up redis-cli:

    $ redis-cli INFO | grep ^db
    db0:keys=1500,expires=2
    db1:keys=200000,expires=1
    db2:keys=350003,expires=1
    
    0 讨论(0)
提交回复
热议问题