Skip to main content

nest common redis

Project description

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"
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nest-redis-1.1.1.tar.gz (7.1 kB view details)

Uploaded Source

File details

Details for the file nest-redis-1.1.1.tar.gz.

File metadata

  • Download URL: nest-redis-1.1.1.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for nest-redis-1.1.1.tar.gz
Algorithm Hash digest
SHA256 a8d12feb296fc0deb5a19cb3c13ab4fd544134b4b4490787ee93dde14e253ba4
MD5 bc435b57450ffe76a6eea839e8a0733f
BLAKE2b-256 696d0e24399e7a7435ae4b366e847a1f2a4c617db4fb823cc6a193d452eb571c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page