Pythonic Redis客户端包装器。
项目描述
rediswrapper是为最终用户提供的Redis客户端的Pythonic包装器。整个存储行为就像一个Python字典及其子存储值。
功能
根客户端支持字典-like操作
Python对象包装器用于列表、集合、哈希类型值
存储和检索数据时的隐式序列化和反序列化
安装
从PyPI
pip install rediswrapper
从GitHub
git clone https://github.com/frostming/rediswrapper cd rediswrapper pip install .
用法
rediswrapper会尝试序列化非字符串值并将它们存储在Redis中,并在检索时进行反序列化。
所有Redis值类型都通过相应的Python对象进行模拟,并支持所有标准方法,就像内置类型一样。
>>> import rediswrapper
>>> redis = rediswrapper.RedisDict()
# String value
>>> redis['a'] = 'hello'
# int value
>>> redis['b'] = 2
>>> dict(redis)
{'a': 'hello', 'b': 2}
# Picklable object
>>> import datetime
>>> redis['c'] = datetime.datetime.now()
# List value
>>> redis['d'] = list(range(5))
>>> redis['d'].append(0)
>>> redis['d']
ListType value([0, 1, 2, 3, 4, 0])
# Hash value
>>> redis['e'] = {'a': 1, 'b': 2}
>>> redis['e'].get('a')
1
# Set value
>>> redis['f'] = set([1, 2])
>>> redis['f'].add(3)
>>> redis['f']
SetType value([1, 2, 3])
要检查这些值类型,应使用在collections模块中定义的ABC。
>>> from collections import Mapping
>>> isinstance(redis['e'], Mapping)
True
历史
- v0.4.0
停止支持低于3.6的Python
- v0.3.0
停止支持Python 3.3
修复了一个可能导致用户运行任意脚本的漏洞问题。
许可
本作品在MIT许可证下开源。