A web interface to read data from redis server(s)
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:
<?php
return [
'baseUrl' => 'http://readis.example.com',
];
Using readis under a path of a domain:
<?php
return [
'baseUrl' => 'http://www.example.com/readis',
];
- File:
config/servers.php
<?php
return [
[
'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.
Regarding auth/password:
If your redis server is not started with the requirepass
option and a password, the value for the auth
config value
must be null
(not an empty string or false
).
server {
listen 80;
# Change the domain name
server_name www.your-domain.net;
root /var/www/readis/public;
index index.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_index index.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 redis
(starts redis-server instance onlocalhost:6379
)- Open: http://127.0.0.1:8080