Python implementation of a Redis-compatible API using websockets.
Project description
ZnSocket - Redis-like Key-Value Store in Python
ZnSocket provides a Redis-compatible API using python-socketio and Python objects for storage. It is designed for testing and applications requiring key-value storage while being easily installable via pip
. For production, consider using redis-py and a Redis instance.
Installation
To install ZnSocket, use:
pip install znsocket
Example
Start the ZnSocket server using the CLI:
znsocket --port 5000
For additional options, run:
znsocket --help
Here's a simple example of how to use the ZnSocket client:
from znsocket import Client
# Connect to the ZnSocket server
c = Client.from_url("znsocket://127.0.0.1:5000")
# Set and get a value
c.set("name", "Fabian")
assert c.get("name") == "Fabian"
[!NOTE] ZnSocket does not encode/decode strings. Using it is equivalent to using
Redis.from_url(storage, decode_responses=True)
in the Redis client.
Lists
ZnSocket provides a synchronized version of the Python list
implementation. Unlike a regular Python list, the data in znsocket.List
is not stored locally; instead, it is dynamically pushed to and pulled from the server.
Below is a step-by-step example of how to use znsocket.List
to interact with a ZnSocket server.
from znsocket import Client, List
# Connect to the ZnSocket server using the provided URL
client = Client.from_url("znsocket://127.0.0.1:5000")
# Create a synchronized list associated with the specified key
sync_list = List(client=client, key="list:1")
# Extend the list with multiple elements
sync_list.extend(["a", "b", "c", "d"])
# Print every second element from the list
print(sync_list[::2])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.