博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python操作Redisl数据库
阅读量:5024 次
发布时间:2019-06-12

本文共 2981 字,大约阅读时间需要 9 分钟。

安装

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

pip install redis

操作

import  redis

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

连接

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

第一种

redis.Redis()

第二种

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

操作示例

redis操作list类型数据。

import redisclass 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 redisimport randomclass 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())

 

转载于:https://www.cnblogs.com/austinjoe/p/9589031.html

你可能感兴趣的文章
Docker 生态
查看>>
Spring整合jdbc-jdbc模板api详解
查看>>
Tomcat:Can't load AMD 64-bit .dll on a IA 32 platform(问题记录)
查看>>
JAVA 集合JGL
查看>>
Python创建删除文件
查看>>
最全的分区类型及详解
查看>>
Python 类中__init__()方法中的形参与如何修改类中属性的值
查看>>
9.1.3 前端 - HTML body标签 - 文本样式
查看>>
ACID属性
查看>>
cnpm不是内部命令的解决方案:配置环境变量
查看>>
7系列FPGA远程更新方案-QuickBoot(转)
查看>>
导出帐号和权限脚本
查看>>
markdown公式编辑参考
查看>>
利用运行时给模型赋值
查看>>
归并排序求逆序对
查看>>
SQL2008用sql语句给字段添加说明
查看>>
JavaScript的对象创建
查看>>
树形DP(统计直径的条数 HDU3534)
查看>>
python学习之路(25)
查看>>
c++中拷贝构造函数、默认无参构造函数、析构函数的理解
查看>>