我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python操作redis数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python操作redis数据库

前言:这两天的事情不多,为了避免之前学习的一点点Python知识遗忘,我在Github上找了一些小项目跟着实践。之前的工作有写过相关的Python处理redis处理数据的脚本,但之前没有养成记录积累的习惯,所以~~~~(遗忘了),所以趁此机会学习一下Python操作redis。
安装:

# pip install redis
>>> import redis
>>> dir(redis)
['AuthenticationError', 'BlockingConnectionPool', 'BusyLoadingError', 'Connection', 'ConnectionError', 'ConnectionPool', 'DataError', 'InvalidResponse', 'PubSubError', 'ReadOnlyError', 'Redis',
'RedisError', 'ResponseError', 'SSLConnection', 'StrictRedis', 'TimeoutError', 'UnixDomainSocketConnection', 'VERSION', 'WatchError', '__all__', '__builtins__', '__cached__', '__doc__',
'__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_compat', 'client', 'connection', 'exceptions', 'from_url', 'int_or_str', 'lock', 'selector', 'utils']

连接redis数据库:

>>> r = redis.Redis(host='192.168.1.115', port=6379, db=7, password=None, encoding='utf-8')      # 默认不支持按指定encoding解析返回值,需要指定 decode_responses=True
>>> type(r)
<class 'redis.client.Redis'>                # redis.client.Redis 对象为大部分的redis命令都实现了接口具体法可以参考对应的redis命令

Python使用连接池来管理redis连接,默认Python会为每一个redis连接创建一个连接池,可以使用 connection_pool 来指定连接池,以此来实现客户端分片或更精细的控制各个客户端的管理(这个概念尚不懂,哈哈)。

>>> pool = redis.ConnectionPool(host='192.168.1.115', port=6379, db=7)
>>> r = redis.Redis(connection_pool=pool)

操作数据:

>>> r.dbsize()
0
>>> r.set('key1', 'value1')
True
>>> r.get('key1')
b'value1'
>>> r.get('key2')
>>> for i in range(1000):
...     key = 'key%s' % str(i)
...     value = 'value{}'.format(str(i))
...     r.set(key, value)
...     
>>> r.dbsize()
1000
>>> r.randomkey()
b'key247'
>>> r.get('key247')
b'value247'
>>> r.scan(0, 'key245*', 500)                 # *scan命令可以使用对应的*scan_iter,这样可以避免获取游标问题
(1022, [b'key245'])
>>> r.scan(1022, 'key245*', 500)
(0, [])
>>> r.delete('key1')                      # 由于del是Python的保留关键字,所有换为delete
1
>>> r.get('key1')

在Python2中默认返回的是str对象,但在Python3中所有返回都是bytes对象,需要自己把bytes解密成是str。

>>> value = r.get('key247')
>>> type(value)
<class 'bytes'>
>>> value.decode(encoding='utf-8')
'value247'

管道:管道可以多条命令以一个请求发送给redis服务器进行处理,可以显著的提高效率。

>>> pool = redis.ConnectionPool(host='192.168.1.115', port=6379, db=7, password=None)
>>> r = redis.Redis(connection_pool=pool, decode_responses=True, encoding='utf-8')
>>> r.set('bing', 'baz')
True
>>> pipe = r.pipeline(transaction=False)
>>> pipe.set('foo1', 'bar1')
Pipeline<ConnectionPool<Connection<host=192.168.1.115,port=6379,db=7>>>
>>> pipe.get('bing')
Pipeline<ConnectionPool<Connection<host=192.168.1.115,port=6379,db=7>>>
>>> pipe.execute()
[True, b'baz']                # True 为 pipe.set()返回, b'baz' 为pipe.get()返回

关于redis连接关闭问题:

看完整篇文档之后,我发现并没有提到redis连接的释放问题。我记得以前再Python2中使用在最后调用了 closed() 方法,于是查了一下网络资料,发现Python使用连接池来管理redis连接,无需主动关闭连接,连接对象被释放后对应的连接也会被关闭,按照以前调用 close() 方法其实也是没有作用的。

后话:我是根据 https://pypi.org/project/redis/  提供的redis模块官方文档来学习的,奈何学习redis知识不够,而且平常很少用到英语,这么一长篇英文文档看完注意力还是很难集中,后面的一部分内容就只能大概了解一下,以后如果机会再进行补全。

参考资料:https://pypi.org/project/redis/

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python操作redis数据库

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python操作redis数据库

前言:这两天的事情不多,为了避免之前学习的一点点Python知识遗忘,我在Github上找了一些小项目跟着实践。之前的工作有写过相关的Python处理redis处理数据的脚本,但之前没有养成记录积累的习惯,所以~~~~(遗忘了),所以趁此机
2023-01-31

python怎么操作redis数据库

今天小编给大家分享一下python怎么操作redis数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、安装redis
2023-06-30

Python如何操作Redis缓存数据库

本篇内容主要讲解“Python如何操作Redis缓存数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何操作Redis缓存数据库”吧!今天我们来学习如何使用Python操作Red
2023-06-02

怎么使用Python操作Redis数据库

本篇内容主要讲解“怎么使用Python操作Redis数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python操作Redis数据库”吧!介绍Redis是一个开源的基于内存也可持久化
2023-07-02

python操作数据库

游标  在stored Routines调用中开的一个缓冲区,用于存放SQL调用的结果集。(结果集是只读的)   意味着我们的查询可以返回一个文档也可以返回一个游标去指向一个结果集,而后通过游标的切换而获取每个结果   Python连接数
2023-01-31

Python操作Redis数据库的超详细教程

目录介绍常用数据结构安装连接String 字符串(键值对)List 列表Hash 哈希Set 集合Zset 有序集合Bitmap 位图全局函数总结介绍Redis是一个开源的基于内存也可持久化的Key-Value数据库,采用ANSI C语言
2022-06-23

使用python怎么批量操作redis数据库

使用python怎么批量操作redis数据库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。方法一:使用 pipeline  使用pipelining 发送命令时
2023-06-08

python操作mysql数据库

一、数据库基本操作 1. 想允许在数据库写中文,可在创建数据库时用下面命令 create database zcl charset utf8; 2. 查看students表结构 desc students; 3. 查看创建students表
2022-06-04

python 操作MySQL数据库

1.connectdef conn(ip,user,password,database): con = mdb.connect(ip,user,password,database) cur = con.cursor() r
2023-01-31

Python 操作 MySQL数据库

开发环境与配置win_x64Ubuntu14.04Python3.xpip安装pymysql模块 直接使用pip安装 pip install pymysql win64上直接在cmd中执行 连接本地数据库使用模块pymysql连接数据库本地
2022-05-30

Python对数据库操作

Windows下安装MySQL-python下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安装到系统即可。linux下安装MySQL-python以连接MySQL:下载地址:htt
2022-06-04

Python的数据库操作

使用原生SQL语句进行对数据库操作,可完成数据库表的建立和删除,及数据表内容的增删改查操作等。其可操作性很强,如可以直接使用“show databases”、“show tables”等语句进行表格之外的部分操作。Centos7远程操作数据
2023-01-31

python操作sybase数据库

python 对于数据库的使用如下# 打开数据库连接#dbName指的是具体数据库的名称,例如mysql 的一个模块为mysqldbdb = dbName.connect("localhost","testuser","test123","
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录