Installation
install as pip
pip install nest-redis==1.1.1
Usage
1. 实例化
-
redis配置
config = { "host": "127.0.0.1", "port": 6379, "password": "123456", "db": 10, "decode_responses": True }
-
获取句柄
>>> from pyredis.cache import RedisUtil >>> cache = RedisUtil(config)
2.字符串相关方法
-
set
:explain: 设置值
:syntax: cache.set(key: str, val: object, [time: int,]) -> bool
:param: key, 字符串的key
:param: val, 字符串的值,可以为string, list, dict
:param: time,超时时间,单位秒
:return: string
>>> cache.set("key", "val") >>> True >>> cache.set("key", "val", 3000) >>> True
-
get
:explain: 获取值
:syntax: cache.get(key: str) -> object
:param: key,字符串的键
:return: 字符串的值
>>> cache.get("key") >>> "val"
-
ttl
:explain: 获取该键剩余的时间
:syntax: cache.ttl(key: str) -> int
:param: key, 字符串的键
:return: 剩余的时间,单位秒
>>> cache.ttl("key") >>> 2990
-
persist
:explain: 取消过期时间
:syntax: cache.persist(key: str) -> bool
:param: key,字符串的键
:return: True设置成功,Flase设置失败
>>> cache.persist(key) >>> True
-
expire
:explain: 添加过期时间
:syntax: cache.expire(key: str, time: int) -> bool
:param: key, 字符串的键
:param: time,过期的时间,单位秒
:return: True设置成功,Flase设置失败
>>> cache.expire(key, 2000) >>> True
3. 队列相关方法
-
lpush
:explain: 添加队首的值
:syntax: cache.lpush(name: str, val: object) -> int
:param: name,队列的键
:param: val,队列的值
:return: 返回队尾的值的索引
>>> cache.lpush("colors", "red") >>> 1 >>> cache.lpush("colors", ["yellow", "pink"]) >>> 3
-
rpop
:explain: 获取队尾的值
:syntax: cache.rpop(name: str) -> object
:param: name,队列的键
:return: 返回队尾的值
>>> cache.rpop("colors") >>> "red"
-
llen
:explain: 获取队列的长度
:syntax: cache.llen(name: str) -> int
:param: name, 队列的key
:return: 队列的长度
>>> cache.llen("colors") >>> 2
4. 哈希相关方法
-
hset
:explain: 添加哈希数据
:syntax: cache.hset(name: str, field: str, val: str) -> int
:param: name,hash的键
:param: field, hash的字段
:param: val, hash的值
:return: 0: 添加失败 1: 添加成功
>>> cache.hset("shop", "3c", "dell computer") >>> 1 >>> cache.hset("shop", "drink", "milk") >>> 1 >>> cache.hset("shop", "food", "egg") >>> 1 >>> cache.hset("shop", "cigarette", {"liqun":17, "huangjinye": 12}) >>> 1
-
hmset
:explain: 批量添加数据
:syntax: cache.hmset(name :str, mapping: dict) -> bool
:param: name,hash的名称
:param: mapping,hash的数据,为字典类型
:return: False: 添加失败 ; True: 添加成功
>>> cache.hmset("company", {"mib": "{\"user_id\": 1207, \"user_name\":\"xxx\"}", "mic":"unknown"}) >>> True
-
hgetall
:explain: 获取hash中某个键下的键值对
:syntax: cache.hgetall(name: str)-> dict
:param: name,hash的名称
:return: 哈希中name中的所有数据
>>> cache.hgetall("shop") >>> {'3c': 'dell computer', 'food': 'egg', 'drink': 'milk'}
-
hget
:explain: 获取哈希某字段下的数据
:syntax: cache.hget(name: str, field: str) -> object
:param: name,hash的名称
:param: field,hash的字段名称
:return: 哈希某字段下的数据(string, int, dict, list)
>>> cache.hget("shop", "3c") >>> 'dell computer'
-
hlen
:explain: 获取hash的长度
:syntax: cache.hlen(name: str) -> int
:param: name,hash的名称
:return: hash的长度
>>> cache.hlen("shop") >>> 3
-
hexists
:explain: 判断一个field是否在hash中
:syntax: cache.hexists(name: str, field: str) -> bool
:param: name, hash的名称
:param: field, hash的字段名称
:return: True: 存在 False:不存在
>>> cache.hexists("shop", "3c") >>> True
-
hdel
:explain: 删除hash中的字段信息
:syntax: cache.hdel(name: str, field: str) -> int
:param: name,hash的名称
:param: field,hash的字段名称
:return: 1:删除成功 0:删除失败
>>> cache.hdel("shop", "3c") >>> 1
5. 集合相关方法
-
sadd
:explain: 添加集合数据
:syntax: cache.sadd(name: str, val: object) -> int
:param: name, 集合的键
:param: val, 集合的值,可以为int or string
:return: 1:成功 ; 0:失败
>>> cache.sadd("names", "3c") >>> 1
-
smembers
:explain: 获取集合中的数据
:syntax: cache.smembers(name: str) -> set
:param: name,集合的名称
:return: 集合中的数据
>>> cache.smembers("names") >>> {'3c'}
-
scard
:explain: 获取集合的长度
:syntax: cache.scard(name: str) -> int
:param: name,集合的名称
:return: 集合的长度
>>> cache.scard("names") >>> 1
-
sismember
:explain: 判断一个元素是否在集合中
:syntax: cache.sismember(name: str, val: object) -> bool
:param: name,集合的名称
:param: val,需要查询的值
:return: True在集合中,False不在集合中
>>> cache.sismember("A", "v1") >>> True
-
sdiff
:explain: 集合差集,属于A但不属于B
:syntax: cache.sdiff(A: str, B: str) -> set
:param: A, 集合A的键
:param: B, 集合B的键
:return: 集合差集
>>> cache.sadd("A", ["v1", "v2", "v3"]) >>> cache.sadd("B", "v2", "v4") >>> cache.sdiff("A", "B") >>> {"v1", "v3"}
-
sinter
:explain: 集合交集,属于A且属于B
:syntax: cache.sinter(A: str, B: str) -> set
:param: A, 集合A的键
:param: B, 集合B的键
:return: 集合交集
>>> cache.sadd("A", "v1", "v2", "v3") >>> cache.sadd("B", "v2", "v4") >>> cache.sinter("A", "B") >>> {"v2"}
-
sunion
:explain: 集合并集,属于A或属于B的元素为称为A与B的并集
:syntax: cache.sunion(A: str, B: str) -> set
:param: A, 集合A的键
:param: B,集合B的键
:return: 集合并集
>>> cache.sadd("A", "v1", "v2", "v3") >>> cache.sadd("B", "v2", "v4") >>> cache.sunion("A", "B") >>> {'v1', 'v2', 'v3', 'v4'}
-
srem
:explain: 删除集合中的元素
:syntax: cache.srem(name: str, *val: object) -> int
:param: name,集合名称
:param: val ,集合中的元素
:return: 删除的个数
>>> cache.srem("A", "a", 2) >>> 2
6. 有序集合相关方法
-
zadd
:explain: 添加有序集合
:syntax: cache.zadd(key: str, mapping: dict) -> list
:param: key,有序集合的名称
:param: mapping,要添加的值
:return: 返回添加的个数
>>> cache.zadd("A", {"a": 1, "b": 3, "c": 2}) >>> 3
-
zrange
:explain: 查询有序集合
:syntax: cache.zrange(key: str, start: int, end: int) -> list
:param: key,有序集合的名称
:param: start,开始查询的索引
:param: end,结束查询的索引
:return: 获取查询后的元素的列表
>>> cache.zrange("A", 0 , -1) >>> ['a', 'c', 'b']
-
zrank
:explain: 查询有序集合的值的索引
:syntax: cache.zrank(key: str, val: str) -> int
:param: key,有序集合的名称
:param: val, 需要查询的值
:return: 返回查询该值的索引,索引为 -1 则表示不存在
>>> cache.zrank("A", 'a') >>> 0
-
zcard
:explain: 获取有序集合的长度
:syntax: cache.zcard(key: str) -> int
:param: key, 有序集合的名称
:return: 有序集合的长度
>>> cache.zcard("A") >>> 3
-
zscan_iter
:explain: 有序集合的模糊匹配
:syntax: cache.zscan_iter(name: str, match: str="*") -> list
:param: name, 有序集合的名称
:param: match, 匹配的字符串,默认为 *
:return: 返回匹配的列表
>>> cache.scan_iter("A", "b*") >>> ['b', 'bf']
-
zrem
:explain: 删除有序集合中的元素
:syntax: cache.zrem(name: str, *val: object) -> int
:param: name,集合名称
:param: val , 集合集合中的元素
:return: 删除的个数
>>> cache.zrem("A", "a", "b") >>> 2
7. 其他方法
-
delete
:explain: 删除redis的键
:syntax: cache.delete(key: str) -> int
:param: key, redis的键
:return: 1: 删除成功; 0:没有此key
>>> cache.delete("A") >>> 1
-
flushdb
:explain: 清除数据库下的所有键
:syntax: cache.flushdb() -> bool
:return: True清空成功,False清空失败
>>> cache.flushdb() >>> True
-
keys
:explain: 匹配数据库下的键
:syntax: keys( pattern: str = "*") -> list
:param: pattern表达式,默认*
:return: list
>>> cache.keys("sms:*") >>> ["sms:13512345678", "sms:13698765432"]
-
handler
:explain: 获取redis句柄
:syntax: cache.handler() -> object
:return: object
>>> handler = cache.handler() >>> handler.get("a") >>> "12345"
Release files for nest-redis 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nest-redis-1.1.1.tar.gz | 7.1 kB | Details |
Release files / nest-redis-1.1.1.tar.gz
| Download URL | nest-redis-1.1.1.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8d12feb296fc0deb5a19cb3c13ab4fd544134b4b4490787ee93dde14e253ba4
|
|
BLAKE2b-256 checksum How to use checksums |
696d0e24399e7a7435ae4b366e847a1f2a4c617db4fb823cc6a193d452eb571c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9
|