zoukankan      html  css  js  c++  java
  • python_封装redis_list方法

    xshell 进入 虚拟环境 安装 redis 

    workon py3env   # 进入虚拟环境

    pip install redis # 安装redis

    deactivate # 退出虚拟环境

    简单的封装下redis中的list方法:

    import redis
    
    class ListDB():
    
        def __init__(self, key):
            self.conn = redis.StrictRedis(decode_responses=True)
            self.key = key
    
        # 新增数据
        def newData(self, *value, lpush=False):
            """
            :param value: 添加的数据
            :param lpush: boolen, True表示从头部添加数据,默认从尾部添加数据
            :return: 添加后列表的长度
            """
            # if lpush == "lpush":
            #     self.conn.lpush(self.key, *list)
            # elif lpush == "rpush":
            #     self.conn.lpush(self.key, *list)
    
            return self.conn.lpush(self.key, *value) if lpush else self.conn.lpush(self.key, *value)
    
        # 返回列表中元素的值。index从0开始,当index超出索引时返回null
        def lindex(self, *list):
            return self.conn.lindex(self.key, *list)
    
        # 查看索引范围内元素的值
        def lrange(self, *data):
            return self.conn.lrange(self.key, *data)
    
        # 返回列表的长度
        def llen(self):
             return self.conn.llen(self.key)
    
        # 修改数据
        def lset(self, index, value):
            return self.conn.lset(self.key, index, value)
    
        # 删除数据
        def deletePop(self, pop=False):
            # if data == "lpop":
            #     return self.conn.lpop(self.key)
            # elif data == "rpop":
            #     return self.conn.rpop(self.key)
    
            return self.conn.lpop(self.key) if pop else self.conn.rpop(self.key)
    
    li = ListDB('table_test')
    a = 'a', 'b'
    # li.newData('test', 'vs')
    li.newData('test', 'vs', lpush=True)
    print("返回列表中元素的值。index从0开始,当index超出索引时返回null: %s" % li.lindex(0))
    
    li.lset(0,'hello')
    
    print("查看索引范围内元素的值: {}".format(li.lrange(0, -1)))
    print("返回列表的长度: {}".format(li.llen()))
    
    li.deletePop(True)
    li.deletePop()
    
    print("查看索引范围内元素的值: {}".format(li.lrange(0, -1)))

    结果:

    python_基础封装数据库方法

    作者:含笑半步颠√

    博客链接:https://www.cnblogs.com/lixy-88428977

    声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。

  • 相关阅读:
    在IIS7中应用Application Request Routing配置反向代理
    sqlite数据类型(时间 日期 ) timestamp 使用
    Windows环境下搭建Redis集群(Redis-x64-3.2.100)
    Vertx上传 官网Demo Java版
    Vert.x HTTP 服务器与客户端
    vertx-mysql-client/java/
    vertx-jersey
    Vertx和Jersey集成使用
    jersey常用注解解释 JAX-RS常用注解:
    Statement及PreparedStatement执行多个sql
  • 原文地址:https://www.cnblogs.com/lixy-88428977/p/9584958.html
Copyright © 2011-2022 走看看