Python中如何用Redis

技术Python中如何用Redis本篇内容主要讲解“Python中如何用Redis”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中如何用Redis”吧!前面我们都

本文主要讲解“如何在Python中使用Redis”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“如何在Python中使用Redis”!

Python中如何用Redis

前面我们用了Redis客户端来使用Redis,但是在实际工作中,我们大多是通过代码来使用Redis。因为边肖对Python比较熟悉,今天就让我们学习一下如何使用Python来操作Redis。

环境准备

需要先安装Redis。

安装了Python(建议使用Python3)。

安装了redis的Python库(pip安装Redis)。

00-1010

开始实践

示例:我们计划通过Python连接到Redis。然后写一个kv,最后打印出查询到的v。

小试牛刀

#!/usr/bin/python3

Importredis#导入redis模块

R=redis.redis (host=' localhost ',port=6379,password=' PWD @ 321 ',decode _ responses=true) # host为redis主机,password为身份验证密码,redis默认端口为6379。

R.set ('name ',' phyger-from-python-redis') # key为' name'value为' phyger-from-python-redis '将键值对存储在redis缓存中。

Print(r['name'])#第一个:取出键名对应的值。

Print(r.get('name'))# Second:取出键名对应的值。

打印(键入(r . get(' name ')))Python中如何用Redis

Python中如何用Redis

Get of是连接池执行的最后一个命令。

00-1010正常情况下,当需要连接到redis时,会创建一个连接,并基于这个连接执行redis操作,完成后释放操作。正常情况下,这是没有问题的,但是在高并发的情况下,频繁的连接创建和释放会对性能产生很大的影响,所以连接池会发挥作用。

连接池原理:预先创建多个连接,在进行redis操作时,直接获取创建的连接进行操作。完成后,这个连接不会被释放,而是会返回到连接池中进行后续的redis操作!这避免了持续的创建和发布,从而提高了性能!

#!/usr/bin/python3

Importredis,time#导入redis模块,通过在python中操作redis,还可以直接在redis主机的服务器上操作缓存数据库。

池=

 redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True)   # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379
r = redis.Redis(connection_pool=pool)
r.set('name', 'phyger-from-python-redis')
print(r['name'])
print(r.get('name'))  # 取出键name对应的值
print(type(r.get('name')))

Python中如何用Redis

你会发现,在实际使用中直连和使用连接池的效果是一样的,只是在高并发的时候会有明显的区别。

基操实践

对于众多的 Redis 命令,我们在此以 SET 命令为例进行展示。

格式: set(name, value, ex=None, px=None, nx=False, xx=False)

在 redis-py 中 set 命令的参数:

参数名 释义
ex <int>过期时间(m)
px <int>过期时间(ms)
nx <bool>如果为真,则只有 name 不存在时,当前 set 操作才执行
xx <bool>如果为真,则只有 name 存在时,当前 set 操作才执行

ex

我们计划创建一个 kv 并且设置其 ex3,期待 3 秒后此 kv 会变为 None

#!/usr/bin/python3
import redis,time   # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库
pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True)   # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379
r = redis.Redis(connection_pool=pool)
r.set('name', 'phyger-from-python-redis',ex=3)
print(r['name'])    # 应当有v
time.sleep(3)
print(r.get('name'))  # 应当无v
print(type(r.get('name')))

Python中如何用Redis

nx

由于 px 的单位太短,我们就不做演示,效果和 ex 相同。

我们计划去重复 set 前面已经 set 过的 name,不出意外的话,在 nx 为真时,我们将会 set 失败。但是人如果 set 不存在的 name1,则会成功。

#!/usr/bin/python3
import redis,time   # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库
pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True)   # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379
r = redis.Redis(connection_pool=pool)
r.set('name', 'phyger-0',nx=3) # set失败
print(r['name'])    # 应当不生效
r.set('name1', 'phyger-1',nx=3) # set成功
print(r.get('name1'))  # 应当生效
print(type(r.get('name')))

Python中如何用Redis

如上,你会发现 nameset 未生效,因为 name 已经存在于数据库中。而 name1set 已经生效,因为 name1 是之前在数据库中不存在的。

xx

我们计划去重复 set 前面已经 set 过的 name,不出意外的话,在 nx 为真时,我们将会 set 成功。但是人如果 set 不存在的 name2,则会失败。

#!/usr/bin/python3
import redis,time   # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库
pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True)   # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379
r = redis.Redis(connection_pool=pool)
r.set('name', 'phyger-0',xx=3) # set失败
print(r['name'])    # 应当变了
r.set('name2', 'phyger-1',xx=3) # set成功
print(r.get('name2'))  # 应当没有set成功
print(type(r.get('name')))

Python中如何用Redis

到此,相信大家对“Python中如何用Redis”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/121641.html

(1)

相关推荐

  • postgresql中PLProxy如何配置

    技术postgresql中PLProxy如何配置小编给大家分享一下postgresql中PLProxy如何配置,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.下载plproxy-2.6.tar.gz网

    攻略 2021年11月18日
  • 使用awk比较两个文件的内容

    技术使用awk比较两个文件的内容 使用awk比较两个文件的内容干货记录
    [Linux] 使用awk比较两个文件的内容
    当需要比较A , B两个文件 , A文件中存在 , 并且把也在B文件中存在的行去除掉

    礼包 2021年11月20日
  • C语言数据类型是如何被大多数计算机系统所支持

    技术C语言数据类型是如何被大多数计算机系统所支持今天就跟大家聊聊有关C语言数据类型是如何被大多数计算机系统所支持,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。问题

    攻略 2021年10月29日
  • 聚焦近义词,“盯着”的近义词是什么

    技术聚焦近义词,“盯着”的近义词是什么见、视、瞧、瞥、瞄、目、相、窥、探、扫、白、瞪、望、盼、眺、睇、睨。“看”的口语化俗语,普通话有“瞧”、“瞅”等,粤语则是“睇”。“睇”字在香港随处听到,用的频率比“看”多百倍!其实

    生活 2021年10月30日
  • SQL中DDL操作的示例分析

    技术SQL中DDL操作的示例分析这篇文章给大家分享的是有关SQL中DDL操作的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、数据库对象 表 视图:存储在数据字典中的一条

    攻略 2021年12月13日
  • 四个象限口诀,三角函数的平方奇偶性的判断口诀

    技术四个象限口诀,三角函数的平方奇偶性的判断口诀“奇四个象限口诀、偶”指的是π/2的倍数的奇偶,“变与不变”指的是三角函数的名称的变化:“变”是指正弦变余弦,正切变余切。(反之亦然成立)“符号看象限”的含义是:把角α看做

    生活 2021年10月29日