python连接redis

本文介绍Redis数据库的基本概念、在Windows系统的安装配置方法,并演示如何使用Python连接Redis及执行简单的数据存取操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 redis数据库,存放的都是key:values的形式的数据.没有所谓的表,集合等结构.可以通过key快速查询到value,一般来说,存储不管value的格式,照单全收,(redis包含了其他功能)

 首先先去网站下载安装包,redis一般都用在linux系统.给个window的redis:


下载后建议解压redis64-2.8.2101 , 进入download文件夹 , 找到redis.windows.conf 文件,并打开修改

①455行加上: maxheap 1024000000 

②387行加上: requirepass 密码(root)

基本设置完毕;

进入终端cmd,进入你修改文件的路径,执行命令 redis-server.exeredis.windows.conf 

开启了redis服务器,这个终端不关闭.

再开启一个客户端终端,进入该文件终端 , 执行 redis-cli.exe

再输入 auth “root”

即可对数据库redis进行操作.

如插入一个key-value



以下使用python连接redis:   先进cmd ---> pip install redis  去下载redis模块进入pycharm:

import redis

#连接数据库

res = redis.StrictRedis(host="localhost",port=6379,password="root")

#设置,获取单条

res.set("p1","good1")

print(res.get("p1"))

#缓冲多条命令,减少服务器-客户端之间的tcp数据包

pipe = res.pipeline()

pipe.set("p2","nice")

pipe.set("p3","handson")

pipe.set("p4","cool")

pipe.execute()

<think>好的,我需要帮助用户找到如何使用Python连接Redis的示例代码。用户提到了哨兵模式,所以首先我要回忆一下之前提供的引用内容。引用[1]中有一个使用redis-py连接哨兵模式的代码示例,这可能直接相关。用户可能希望看到具体的代码步骤,包括连接主节点和从节点,以及基本操作。接下来,我需要确保代码的正确性。根据引用[3],master和slave对象是StrictRedis实例,连接池由Sentinel管理。如果Sentinel无法找到主或从节点,会抛出异常,这点需要提醒用户注意错误处理。 然后,我应该分步骤说明,比如安装redis-py、普通连接连接池以及哨兵模式。每个部分都需要代码示例,并解释关键参数,如host、port、password。同时,要提到引用中的信息,比如引用[4]提到的Redis特点,可能不需要在这里展开,但可以强调连接的重要性。 用户可能需要知道不同连接方式的区别,比如直接连接与哨兵模式的区别。此外,常见问题如密码认证、连接超时设置也是有用的,应该包含在注意事项里。最后,生成相关问题,覆盖安装、连接池优势、异常处理、主从切换等,帮助用户进一步学习。需要确保问题有针对性,引导用户深入理解。</think>### Python连接Redis的代码示例 #### 1. 安装依赖 ```bash pip install redis ``` #### 2. 普通连接模式 ```python import redis # 直接连接主节点 r = redis.Redis( host='localhost', port=6379, password='your_password', # 若无密码可省略 decode_responses=True # 自动解码二进制数据为字符串 ) # 基本操作示例 r.set('key1', 'value1') print(r.get('key1')) # 输出: value1 ``` #### 3. 连接池模式(推荐) ```python from redis import ConnectionPool pool = ConnectionPool( host='localhost', port=6379, max_connections=20, # 连接池最大容量 password='your_password' ) r_pool = redis.Redis(connection_pool=pool) ``` #### 4. 哨兵模式连接(高可用场景) ```python from redis.sentinel import Sentinel sentinel_list = [ ('sentinel1.example.com', 26379), ('sentinel2.example.com', 26379) ] # 创建哨兵对象 sentinel = Sentinel( sentinel_list, socket_timeout=0.5, # 超时时间 password='sentinel_password' ) # 获取主节点连接 master = sentinel.master_for( service_name='mymaster', password='redis_password' ) # 获取从节点连接 slave = sentinel.slave_for( service_name='mymaster', password='redis_password' ) # 读写分离示例 master.set('status', 'active') print(slave.get('status')) # 输出: b'active' (注意二进制数据) ``` #### 5. 注意事项 1. **密码认证**:若Redis启用密码,需在`password`参数中指定主节点和哨兵节点的密码[^1][^3] 2. **异常处理**:建议添加`try-except`块处理`MasterNotFoundError`等异常[^3] 3. **数据编码**:设置`decode_responses=True`可自动转换二进制返回值为字符串 4. **连接验证**:可通过`ping()`方法测试连接状态 ```python print(r.ping()) # 输出: True表示连接正常 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值