Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coleifer/simpledb
miniature redis-like server implemented in Python
https://github.com/coleifer/simpledb
huey redis
Last synced: 3 days ago
JSON representation
miniature redis-like server implemented in Python
- Host: GitHub
- URL: https://github.com/coleifer/simpledb
- Owner: coleifer
- Created: 2018-01-15T15:48:28.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-14T02:42:22.000Z (about 2 years ago)
- Last Synced: 2024-04-27T23:52:10.686Z (8 months ago)
- Topics: huey, redis
- Language: Python
- Size: 46.9 KB
- Stars: 137
- Watchers: 11
- Forks: 22
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### simpledb
Miniature [Redis](https://redis.io)-like database written in Python.
#### installing
```
$ pip install simpledb
```Alternatively, you can install from git:
```
$ git clone https://github.com/coleifer/simpledb
$ cd simpledb
$ python setup.py install
```#### running
by default, the simpledb server runs on localhost:31337.
the following options are supported:
```
Usage: simpledb.py [options]Options:
-h, --help show this help message and exit
-d, --debug Log debug messages.
-e, --errors Log error messages only.
-t, --use-threads Use threads instead of gevent.
-H HOST, --host=HOST Host to listen on.
-m MAX_CLIENTS, --max-clients=MAX_CLIENTS
Maximum number of clients.
-p PORT, --port=PORT Port to listen on.
-l LOG_FILE, --log-file=LOG_FILE
Log file.
-x EXTENSIONS, --extension=EXTENSIONS
Import path for Python extension module(s).
```to run with debug logging on port 31339, for example:
```
$ simpledb.py -d -p 31339
```#### docker
simpledb ships with a [Dockerfile](https://github.com/coleifer/simpledb/blob/master/docker/Dockerfile)
or can be pulled from dockerhub as *coleifer/simpledb*. The dockerfile setups
up a volume at `/var/lib/simpledb` and exposes port `31337`.running:
```console
$ docker run -it --rm -p 31337:31337 coleifer/simpledb
```building:
```console
$ cd simpledb/docker
$ docker build -t simpledb .
$ docker run -d -p 31337:31337 -v simpledb-logs:/var/lib/simpledb simpledb
```#### usage
the server is capable of storing the following data-types natively:
* strings and/or binary data
* numerical values
* null
* lists (may be nested)
* dictionaries (may be nested)```python
from simpledb import Client
client = Client()
client.set('key', {'name': 'Charlie', 'pets': ['mickey', 'huey']})print(client.get('key'))
{'name': 'Charlie', 'pets': ['mickey', 'huey']}
```