https://github.com/pykit3/k3redisutil
For using redis more easily.
https://github.com/pykit3/k3redisutil
python redis
Last synced: 4 months ago
JSON representation
For using redis more easily.
- Host: GitHub
- URL: https://github.com/pykit3/k3redisutil
- Owner: pykit3
- License: mit
- Created: 2021-08-26T06:59:52.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-08-28T12:38:12.000Z (9 months ago)
- Last Synced: 2025-09-22T16:10:54.630Z (8 months ago)
- Topics: python, redis
- Language: Python
- Homepage: https://blog.openacid.com
- Size: 27.3 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# k3redisutil
[](https://github.com/pykit3/k3redisutil/actions/workflows/python-package.yml)
[](https://k3redisutil.readthedocs.io/en/stable/?badge=stable)
[](https://pypi.org/project/k3redisutil)
For using redis more easily.
k3redisutil is a component of [pykit3] project: a python3 toolkit set.
For using redis more easily.
# Install
```
pip install k3redisutil
```
# Synopsis
```python
import k3redisutil
import time
# Using redis as a duplex cross process communication channel pool.
# client and server with the same channel name "/foo" is a pair
c = k3redisutil.RedisChannel(6379, '/foo', 'client')
s = k3redisutil.RedisChannel(6379, '/foo', 'server')
c.send_msg('c2s')
s.send_msg('s2c')
# list channels
print(c.list_channel('/')) # ["/foo"]
print(s.recv_msg()) # c2s
print(c.recv_msg()) # s2c
cli = k3redisutil.RedisProxyClient([('127.0.0.1', 2222), ('192.168.0.100', 222)])
cli.set('k1', 'v1', retry=1)
cli.set('k2', 'v2', expire=1000) # msec
print(cli.get('k1', retry=2))
# out: 'v1'
print(cli.get('k2'))
# out: 'v2'
time.sleep(1)
cli.get('k2')
# raise a 'redisutil.KeyNotFoundError' because it is timeout
cli.hset('hashname1', 'k3', 'v3')
cli.hset('hashname2', 'k4', 'v4', expire=1000)
print(cli.hget('hashname1', 'k3'))
# out: 'v3'
print(cli.hget('hashname2', 'k4'))
# out: 'v4'
time.sleep(1)
cli.hget('hashname2', 'k4')
# raise a 'redisutil.KeyNotFoundError' because it is timeout
```
# Author
Zhang Yanpo (张炎泼)
# Copyright and License
The MIT License (MIT)
Copyright (c) 2015 Zhang Yanpo (张炎泼)
[pykit3]: https://github.com/pykit3