• python操作Redisl数据库


    安装

    用pip命令来安装操作Redis的库。

    pip install redis

    操作

    import  redis

    在python中操作Redis数据库是十分简单的,命令与Linux下操作redis数据库的命令几乎一模一样。不熟悉可以看redis基本命令。

    连接

    连接命令有两种第一种是为了兼容旧的版本,推荐使用第二种。连接的时候默认连接的是0号数据库。decode_responses=True可以让数据不以bytes显示。

    第一种

    redis.Redis()

    第二种

    redis.StrictRedis()
    #redis.StrictRedis(decode_responses=True)

    操作示例

    redis操作list类型数据。

    import redis
    class RedisList:
        def __init__(self,key,host='localhost',port=6379):
            self.db=redis.StrictRedis(host=host,port=port,decode_responses=True)
            self.key=key
        def name(self):
            return self.key
        def rpush(self,*args):
            self.db.rpush(self.name(),*args)
        def lpush(self,*args):
            self.db.lpush(self.name(),*args)
        def lrange(self,start,stop):
            print( self.db.lrange(self.name(),start,stop))
        def lindex(self,index):
            print(self.db.lindex(self.name(),index))
        def lset(self,index,value):
            self.db.lset(self.name(),index,value)
        def rpop(self):
            self.db.rpop(self.name())
        def lpop(self):
            self.db.lpop(self.name())
    
    
    if __name__=='__main__':
        li1=RedisList('list')
        li1.rpush(111,222,333)
        li1.lpush(999,888)
        li1.lrange(1,3)
        li1.lindex(2)
        li1.lset(2,777)
        li1.lindex(2)
        li1.rpop()
        li1.lpop()

     python操作hash数据类型

    import redis
    import random
    
    
    class RedisClient(object):
        def __init__(self, key, host='localhost', port=6379):
            """
            初始化Redis连接
            :param host: 地址
            :param port: 端口
            """
            self._db = redis.StrictRedis(host=host, port=port, decode_responses=True)
            self.key = key
    
        def name(self):
            """
            获取Hash的名称
            :return: Hash名称
            """
            return self.key
    
        def hmset(self, dic):
            self._db.hmset(self.name(), dic)
    
        def set(self, field, value):
            """
            设置键值对
            :param field: 键
            :param value: 值
            :return:
            """
            return self._db.hset(self.name(), field, value)
    
        def delete(self, *field):
            """
            根据键名删除键值对
            :return: 删除结果
            """
            return self._db.hdel(self.name(), *field)
    
        def count(self):
            """
            获取数目
            :return: 数目
            """
            return self._db.hlen(self.name())
    
        def random(self):
            """
            随机得到键值
            :return: 随机键值
            """
            # print(self._db.hvals(self.key))
            return random.choice(self._db.hvals(self.name()))
    
        def get_field(self):
            """
            获取所有账户信息
            :return: 所有用户名
            """
            return self._db.hkeys(self.name())
    
        def get_values(self, *field):
            """
            根据键名获取键值
            :param username: 键
            :return:对应键的键值
            """
            result = self._db.hmget(self.name(), *field)
    
            return result[0] if len(result) == 1 else result
    
        def get_all(self):
            """
            获取所有键值对
            :return: 所有键值对
            """
            return self._db.hgetall(self.name())
    
    
    if __name__ == '__main__':
        conn = RedisClient('table')
        result = conn.hmset({'a': 1, 'b': 2, 'c': 3})
        print(result)
        print(conn.get_field())
  • 相关阅读:
    Android View 的绘制流程
    Android Studio 注释模板
    Flutter https://flutter.cn/docs学习之 工作原理
    Android 手机兼容差异
    Flutter plugin的两种方式
    本周总结
    mapreduce程序开发简单实例 WordCount
    《需求工程——软件建模与分析》阅读笔记之一
    本周总结
    本周总结
  • 原文地址:https://www.cnblogs.com/austinjoe/p/9589031.html
Copyright © 2020-2023  润新知