python 连接redis

本文介绍在Windows 10环境下使用Python 3.5连接Redis数据库的方法。通过示例代码展示如何配置Redis连接参数并获取Redis数据库对象。

一.环境 

win10

py3.5

二.连接

import redis

def get_db():
    '''获取redis数据对象'''
    redis_config = {
        "host": "127.0.0.1",
        "port": 6379,
        'db':10
    }
    # redis连接对象
    db= redis.Redis(**redis_config)
    return db

<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、付费专栏及课程。

余额充值