A web interface to read data from redis server(s)
See the public demo on readis.hollo.me
You can find a ready to run docker image here.
docker pull hollodotme/readis- Setup / Selection for multiple redis servers
- Mapping database keys to expressive database names
- Selection of a database inside a redis server
- Searching for keys (with placeholders) inside a database
- Listing of found keys with variable limit
- Basic information about keys
- Viewing the content of all key types
- Viewing all elements/members/fields in lists, (sorted) sets and hashes all at once
- Prettified JSON view, if value is a compact JSON string
- Listing of slow logs
- Table with all the current server instance information / stats
- Table with all the current server configs
- Real-time server monitor for connected clients and I/O in KB/sec.
- Webserver (nginx, apache2, etc.)
- PHP >= 7.1 with phpredis extension
- composer
Assuming you'll install readis under /var/www/readis on your server.
- SSH into your webserver.
$ git clone https://github.com/hollodotme/readis.git /var/www/readis$ cd /var/www/readis$ git checkout v2.0.0$ composer install -a --no-dev --no-interaction$ cp config/app.sample.php config/app.php- Set up the baseUrl in
config/app.php(Should be the full HTTP URL with path, e.g.https://www.example.com/readis/) $ cp config/servers.sample.php config/servers.php- Set up all server instances in
config/servers.php - Set up your webserver VHost with document root
/var/www/readis/public
- File:
config/app.php
Using readis under a separate (sub-)domain:
<?phpreturn [
'baseUrl' => 'http://readis.example.com',
];Using readis under a path of a domain:
<?phpreturn [
'baseUrl' => 'http://www.example.com/readis',
];- File:
config/servers.php
<?phpreturn [
[
'name' => 'Local redis server 1',
'host' => '127.0.0.1',
'port' => 6379,
'timeout' => 2.5,
'retryInterval' => 100,
'auth' => null,
'databaseMap' => [
'0' => 'Sessions',
'1' => 'Sample Data',
// ...
],
],
/* [ 'name' => 'Local redis server 2', 'host' => '127.0.0.2', 'port' => 6379, 'timeout' => 2.5, 'retryInterval' => 100, 'auth' => null, 'databaseMap' => [ '0' => 'Sessions', '1' => 'Sample Data', // ... ], ], */
];You can map the numeric database keys to plain text names.
Keys that were not mapped will still be displayed as Database [KEY].
Please note: If the CONFIG command is disabled in your redis server, the database map becomes the fallback
listing of available databases.
server{listen80; # Change the domain nameserver_name www.your-domain.net;root /var/www/readis/public;indexindex.php;location / {try_files$uri$uri/ /index.php?$args;}location~\.php$ {fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;fastcgi_indexindex.php;include fastcgi_params;}}That's it.
In order to run readis locally, follow these steps:
$ git clone https://github.com/hollodotme/readis.git$ cd readis/$ composer update -o$ cp config/app.sample.php config/app.php$ cp config/servers.sample.php config/servers.php$ php -S 127.0.0.1:8080 -t public/(starts local webserver)$ docker-compose up -d(starts redis-server instance onlocalhost:6379)- Open: http://127.0.0.1:8080