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

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

  • 相关阅读:
    (备忘)解决用Xftp向CentOS7 传文件速度慢的问题
    CentOS上使用ntfs-3g挂载NTFS分区
    tomcat运行一段时间出“org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header”
    JQuery EasyUI treegrid展开与折叠,以及数据加载两次的问题
    goland 激活码
    golang 之xorm
    golang 之 go module
    golang 之单元测试
    golang 之反射
    golang 之sync &并发安全锁
  • 原文地址:https://www.cnblogs.com/lixy-88428977/p/9584958.html
Copyright © 2011-2022 走看看