Python redis 安装和使用介绍

news/2024/9/20 14:05:53 标签: python, redis, 开发语言

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 redis

pool = 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 redis

pool = 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 time

pool = 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.niftyadmin.cn/n/5667200.html

相关文章

Neo4j 简单使用

在 Neo4j 项目中,搭建和使用主要包括以下几个步骤: 1. 安装 Neo4j 首先,安装 Neo4j 可以选择多种方式,包括: 本地安装:在 Windows、macOS 或 Linux 系统中,通过官网下载对应的 Neo4j 安装包。…

深入浅出通信原理

深入浅出通信原理 文章目录 深入浅出通信原理前言一、概述二、信号和频谱2.1 信号2.2 信号的分解与合成2.3 傅里叶变换的特性2.4 离散傅里叶变化 三 信道3.1 衰减和损耗3.2 多普勒效应 四 信源编码4.1 采样4.2 量化4.3 编码 五 基带信号的发送和接受5.1 脉冲成形5.2 眼图 六 频…

运维工程师面试整理-故障排查常见故障的排查步骤及方法

故障排查是运维工程师的重要技能之一。在面试中,面试官通常会通过故障排查相关的问题来评估你解决问题的能力和系统思维。以下是关于常见故障的排查步骤及方法的详细内容,帮助你更好地准备面试。 1. 故障排查的基本步骤 1. 问题识别 a. 描述问题:明确问题的具体表现

React Zustand状态管理库的使用

Zustand 是一个轻量级的状态管理库,适用于 React 和浏览器环境中的状态管理需求。它由 Vercel 开发并维护,旨在提供一种简单的方式来管理和共享状态。Zustand 的设计理念是尽可能简化状态管理,使其更加直观和易于使用。 Zustand 官网点击跳转…

idea多模块启动

文章目录 idea多模块启动2018版本的idea2019版本的idea idea多模块启动 2018版本的idea 1.首先看一下view> Tool Windows下有没有Run Dashboard 如果有,点击一下底部的窗口就会出现 如果不存在,执行下一步 2.查看自己项目的工作空间位置 点击 File&…

【QT】重载信号Connect链接使用方式

有一些Widget有重载的信号,比如QComboBox: void currentIndexChanged(int index) void currentTextChanged(const QString &text)在连接信号槽的时候,需要做一些处理,要表明具体连接的是哪个类型的信号,否则会报错…

JVM java主流的追踪式垃圾收集器

目录 前言 分代垃圾收集理论 标记清除算法 标记复制算法 标记整理法 前言 从对象消亡的角度出发, 垃圾回收器可以分为引用计数式垃圾收集和追踪式垃圾收集两大类, 但是java主流的一般是追踪式的垃圾收集器, 因此我们重点讲解. 分代垃圾收集理论 分代收集这种理…

【算法题】46. 全排列-力扣(LeetCode)

【算法题】46. 全排列-力扣(LeetCode) 1.题目 下方是力扣官方题目的地址 46. 全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3…