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

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

  • 相关阅读:
    Scrum是脆弱的,不敏捷的
    Solr 全文搜索
    Java并发之线程封闭
    Java中的关键字synchronized
    Java并发框架:Executor
    锁,表锁,行锁,页锁,共享锁,排他锁
    事务及事务隔离
    MySql存储引擎:innodb myisan memory
    树,二叉树
    B树(B-树) 、B+树
  • 原文地址:https://www.cnblogs.com/lixy-88428977/p/9584958.html
Copyright © 2011-2022 走看看