Skip to content
This repository has been archived by the owner on May 7, 2024. It is now read-only.

mitjafelicijan/redis-marshal

Repository files navigation

Redis Marshal

Build Status MASTER Build Status DEVEL

Query window

Additional resources

Current data type support

  • Strings
  • Lists
  • Sets
  • Hashes
  • Sorted sets
  • Bitmaps and HyperLogLogs

Todo list is located in TODO.md.

Software characteristics

  • Written in Python2.7 (Python3.x fails on JSON serialiation - working on it).
  • All dependencies are included with source (no pip or virtualenv needed).
  • Works with Docker and docker-compose.
  • No autentication implemented (use Nginx or Caddy as a reverse proxy and add Basic-Auth).
  • Allows bulk key deletion.
  • Allows table sorting of results based on type, key and ttl.
  • Autogenerates forms from hashsets and enables adding and removing attributes.
  • Allows executing commands.

Supported glob-style patterns

  • h?llo matches hello, hallo and hxllo
  • h*llo matches hllo and heeeello
  • h[ae]llo matches hello and hallo, but not hillo
  • h[^e]llo matches hallo, hbllo, ... but not hello
  • h[a-b]llo matches hallo and hbllo

Use \ to escape special characters if you want to match them verbatim. More on https://redis.io/commands/keys.

Application arguments

usage: application.py [-h] [--port PORT] [--host HOST] [--production]
                      [--debug] [--reloader] [--path PATH]
                      [--redis-host REDIS_HOST] [--redis-port REDIS_PORT]
                      [--redis-db REDIS_DATABASE]

optional arguments:
  -h, --help            show this help message and exit
  --port PORT           server port
  --host HOST           server host
  --production          enables production mode and reduces logging
  --debug               application in debug mode
  --reloader            application reloads on source change
  --path PATH           Path of app / or /marshal/
  --redis-host REDIS_HOST
                        Redis host
  --redis-port REDIS_PORT
                        Redis port
  --redis-db REDIS_DATABASE
                        Redis database number

Using with Docker (docker-compose)

docker-compose up
version: "3"
networks:
  redis-marshal-net:
    driver: bridge
services:
  redis-marshal:
    image: mitjafelicijan/redis-marshal
    ports:
        - "9001:9001"
    depends_on:
        - redis
    command: python ./application.py --port 9001 --redis-host redis-marshal.internal
    networks:
      - redis-marshal-net
  redis:
    image: redis
    hostname: redis
    ports:
      - "6379:6379"
    command: /usr/local/bin/redis-server --appendonly yes --appendfilename history.aof
    volumes:
      - ${PWD}/data:/data
    networks:
      redis-marshal-net:
        aliases:
          - redis-marshal.internal

Using on local machine

Before running start Redis Server on local machine.

wget https://github.com/mitjafelicijan/redis-marshal/archive/master.zip
unzip master.zip
cd redis-marshal-master
python2 application.py

Made with the help of

Releases

No releases published

Packages

No packages published