Python redis 安装和使用介绍

server/2024/9/23 12:42:44/

python redis安装和使用

    • 一、Redis 安装
      • 1.1、Windows安装
    • 二、安装 redis 模块
    • 二、使用redis 实例
      • 1.1、简单使用
      • 1.2、连接池
      • 1.3、redis 基本命令 String
        • 1.3.1、ex - 过期时间(秒)
        • 1.3.2、nx - 如果设置为True,则只有name不存在时,当前set操作才执行 (新建)
        • 1.3.3 、setnx(name, value)
        • 1.3.4、 setex(name, time, value)

一、Redis 安装

安装教程链接如下:点击查看

1.1、Windows安装

本人本地是Windows系统,下载redis压缩包的地址为:点击下载地址:https://github.com/tporadowski/redis/releases,大家也可以直接下载我上传的安装包,是redis-x64-5.0.14.1版本.

选择合适的版本:
在这里插入图片描述
下载成功后,打开文件夹,内容如下:
在这里插入图片描述
最后是启动服务:
打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行:

redis-server.exe redis.windows.conf

如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:
在这里插入图片描述

redis__20">二、安装 redis 模块

上一步已经启动了服务,这时候要使用redis喽。
Python 要使用 redis,需要先安装 redis 模块:

sudo pip3 install redis
或
sudo easy_install redis
或
sudo python setup.py install

或者在编辑器里导入哈,导入路径如下:
点击文件 -》设置 -》选择项目 python解释器 -》安装;
然后搜索要安装的redis模块,最后安装就可以喽,,,不如命令行方便哈
在这里插入图片描述
在这里插入图片描述

redis__35">二、使用redis 实例

使用文档:点击查看使用文档

1.1、简单使用

import redis   # 导入redis 模块r = redis.Redis(host='localhost', port=6379, decode_responses=True)   
r.set('name', 'runoob')  # 设置 name 对应的值
print(r['name'])
print(r.get('name'))  # 取出键 name 对应的值
print(type(r.get('name')))  # 查看类型

最后结果如下:
在这里插入图片描述

1.2、连接池

redis-py 使用 connection pool 来管理对一个 redis server 的所有连接,避免每次建立、释放连接的开销。

默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数 Redis,这样就可以实现多个 Redis 实例共享一个连接池。

import redis    # 导入redis 模块pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.Redis(host='localhost', port=6379, decode_responses=True)   
r.set('name', 'runoob')  # 设置 name 对应的值
print(r.get('name'))  # 取出键 name 对应的值

redis__String_63">1.3、redis 基本命令 String

set(name, value, ex=None, px=None, nx=False, xx=False)
在 Redis 中设置值,默认,不存在则创建,存在则修改。
参数:

  • ex - 过期时间(秒)
  • px - 过期时间(毫秒)
  • nx - 如果设置为True,则只有name不存在时,当前set操作才执行
  • xx - 如果设置为True,则只有name存在时,当前set操作才执行
1.3.1、ex - 过期时间(秒)

到了过期时间,键对应的的值就变成None

import redispool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.Redis(connection_pool=pool)
r.set('food', 'mutton', ex=3)    # 这是秒,key是"food" value是"mutton" 将键值对存入redis缓存
#r.set('food', 'beef', px=3) # 这是毫秒
print(r.get('food'))  # mutton 取出键food对应的值
1.3.2、nx - 如果设置为True,则只有name不存在时,当前set操作才执行 (新建)
import redispool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.Redis(connection_pool=pool)
print(r.set('fruit', 'watermelon', nx=True))    # True--不存在
# 如果键fruit不存在,那么输出是True;如果键fruit已经存在,输出是None
1.3.3 、setnx(name, value)

设置值,只有name不存在时,执行设置操作(添加)

1.3.4、 setex(name, time, value)

设置值
参数:
time - 过期时间(数字秒 或 timedelta对象)

import redis
import timepool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.Redis(connection_pool=pool)
r.setex("fruit2", 5, "orange")
time.sleep(5)
print(r.get('fruit2'))  # 5秒后,取值就从orange变成None

http://www.ppmy.cn/server/120807.html

相关文章

CSS-Grid布局详解

前言 Grid 栅格布局 是 CSS 语言中非常强大的种布局,它提供了丰富的工具属性,可以轻松实现复杂且灵活的布局设计,因此想要完美使用CSS Grid 也有一定的难度和复杂性,我自己也是花了不少时间才真正掌握它的使用,在这篇…

uni-app 多环境配置

前后端分离模式下,不同的环境如开发环境(dev)、测试环境(test)、生产环境(prod)等,不同环境后端数据库、api地址等可能都不同 。 uni-app中只有development和production两个环境 以配…

NSSCTF刷题篇1

js类型 [SWPUCTF 2022 新生赛]js_sign 这是一道js信息泄露的题目直接查看源码,有一个main.js文件点击之后,有一串数字和一段base64编码,解开base64编码得到这个编码为敲击码 解码在线网站:Tap Code - 许愿星 (wishingstarmoye.…

PostgreSQL 的log_hostname 参数测试

PostgreSQL 的log_hostname 参数测试 log_hostname 是 PostgreSQL 配置文件 (postgresql.conf) 中的一个参数,用于控制是否在日志条目中记录客户端主机名。默认情况下,PostgreSQL 只记录客户端的IP地址,而 log_hostname 参数允许数据库管理员…

论文阅读 - SELF-REFINE: Iterative Refinement with Self-Feedback

https://arxiv.org/pdf/2303.17651 目录 Abstract Introduction 2 Iterative Refinement with SELF-REFINE Evaluation 3.1 Instantiating SELF-REFINE 3.2 Metrics 3.3 Results Abstract 与人类一样,大型语言模型(LLMs)并非总能在首次…

【Django5】django的helloworld

安装django pip install djangoDjango官方中文文档 https://docs.djangoproject.com/zh-hans/5.1/Github链接 https://github.com/django/django创建Django项目 cd到想要创建项目的文件夹下,输入以下命令创建项目 这行代码将会在当前目录下创建一个 mysite 目录 …

【深度学习】初识神经网络

神经网络的表示 一个简单的两层神经网络如下图所示,每个圆圈都代表一个神经元,又名预测器。 一个神经元的计算详情如下。在我们原本输入的变量x的基础上,还有权重w和偏置b;在计算z过后,再将其带入sigmoid激活函数&…

【Webpack--015】打包速度优化--loader配置oneOf

🤓😍Sam9029的CSDN博客主页:Sam9029的博客_CSDN博客-前端领域博主 🐱‍🐉若此文你认为写的不错,不要吝啬你的赞扬,求收藏,求评论,求一个大大的赞!👍* &#x…