主从+哨兵

from redis.sentinel import Sentinel

if __name__ == '__main__':
# 哨兵监听的别名,这个就是你redis配置中的名字
server_name = "mymaster" # 设置哨兵组的IP和PORT
sentinel_list = [
("192.168.2.6", 26379),
("192.168.2.6", 26380),
("192.168.2.6", 26381),
]
# 初始化哨兵对象,并传递哨兵组的IP和端口信息
sentinel = Sentinel(sentinel_list) # print(sentinel.discover_slaves(server_name))
# print(sentinel.discover_master(server_name)) # 从哨兵监视中获取master主库
master_client = sentinel.master_for(server_name, decode_responses=True) # 从哨兵监视中获取slave从库
slave_client = sentinel.slave_for(server_name, decode_responses=True) # 主库中设置值
master_client.set("username", "wangwu") # 从库中获取值
print(slave_client.get("username"))

集群

from redis.cluster import ClusterNode

if __name__ == '__main__':
from redis import RedisCluster # nodes = [
# {"host": "192.168.2.6", "port": 6382},
# {"host": "192.168.2.6", "port": 6383},
# {"host": "192.168.2.6", "port": 6384},
# {"host": "192.168.2.6", "port": 6385},
# ] """
S: 1bf7272d2b929d7a7d5080bfabfcdc1e2dee5dde 192.168.2.6:6379
S: 2553f886f985b64357d70cb581cb90206fd356e0 192.168.2.6:6380
S: 82170a4b12bb428469ee23f36b6c3b9aea14e65a 192.168.2.6:6381
M: fd85e7db8bcb89dd572bda08d832817515d74dc3 192.168.2.6:6382
M: 533580d3b0f60fe474d60439fff61536ba57b90e 192.168.2.6:6383
M: cbf4151ce9ca40fa8eea60c6242d5020c31829ce 192.168.2.6:6384
M: 6c220055c3c79f45443e388056b2ede17879d48a 192.168.2.6:6385
""" # 可以将全部节点的信息都给定一个列表中
# 现在新版要求传的是ClusterNode对象了
nodes = [
ClusterNode("192.168.2.6", port=6382),
ClusterNode("192.168.2.6", port=6383),
ClusterNode("192.168.2.6", port=6384),
ClusterNode("192.168.2.6", port=6385),
ClusterNode("192.168.2.6", port=6379),
ClusterNode("192.168.2.6", port=6380),
ClusterNode("192.168.2.6", port=6381),
] # 可以给定全部集群中的机器IP信息
cluster = RedisCluster(startup_nodes=nodes, decode_responses=True) # 也可以随便指定一个节点(不管主从都可以,它会自动定位)
cluster = RedisCluster(host="192.168.2.6",port=6379, decode_responses=True)
cluster.set("test001", "哈哈哈哈") # print(cluster.get("test001").decode())
print(cluster.get("test001"))

python操作redis集群、redis主从+哨兵的更多相关文章

  1. 如何搭建Redis集群(主从+哨兵)

    一.什么是redis主从复制? 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点 ...

  2. Redis集群--Redis集群之哨兵模式

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 搭建R ...

  3. Redis集群的主从切换研究

    目录 目录 1 1. 前言 1 2. slave发起选举 2 3. master响应选举 5 4. 选举示例 5 5. 哈希槽传播方式 6 6. 一次主从切换记录1 6 6.1. 相关参数 6 6.2 ...

  4. 基于Docker搭建Redis集群(主从集群)

    基于Docker搭建Redis集群(主从集群)   最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得一定是之前写的这篇 <基于Docker的Redis集群搭建> 文章 ...

  5. redis集群(主从配置)

    市面上太多kv的缓存,最常用的就属memcache了,但是memcache存在单点问题,不过小日本有复制版本,但是使用的人比较少,redis的出现让kv内存存储的想法成为现实.今天主要内容便是redi ...

  6. 5分钟实现用docker搭建Redis集群模式和哨兵模式

    如果让你为开发.测试环境分别搭一套哨兵和集群模式的redis,你最快需要多久,或许你需要一天?2小时?事实是可以更短. 是的,你已经猜到了,用docker部署,真的只需要十几分钟. 一.准备工作 拉取 ...

  7. 认识Redis集群——Redis Cluster

    前言 Redis集群分三种模式:主从模式.sentinel模式.Redis Cluster.之前没有好好的全面理解Redis集群,特别是Redis Cluster,以为这就是redis集群的英文表达啊 ...

  8. phpredis Redis集群 Redis Cluster

    官方url: https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#readme 2017年10月29日20:44:25 ...

  9. springboot+shiro+redis(集群redis版)整合教程

    相关教程: 1. springboot+shiro整合教程 2. springboot+shiro+redis(单机redis版)整合教程 3.springboot+shiro+redis(单机red ...

  10. Redis 集群_主从配置_哨兵模式

    首先:slaveof 可以在[从]服务器启动一个service服务,直接将[从]服务器定义为[从Redis] redis-server --slaveof <master-ip> < ...

随机推荐

  1. JSTL fn函数使用

    首先,我们要在页面的最上方引用: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/function ...

  2. HDFS核心概念与架构

    HDFS简介 HDFS是Hadoop项目的核心子项目,在大数据开发中通过分布式计算对海量数据进行存储与管理,它基于流数据模式访问和处理超大文件的需求而开发,可以运行在廉价的商用服务器上,为海量数据提供 ...

  3. 常见python工具的基本构造-入门

    一.常见库 exifread 读取图片中的信息,如GPS信息 https://blog.csdn.net/qq1198768105/article/details/128159598 tkinter ...

  4. Azure Data Factory(七)数据集验证之用户托管凭证

    一,引言 上一篇文章中,我们讲解了 Azure Data Factory 在设置数据集类型为  Dataverse 的时候,如何连接测试.今天我们继续讲解认证方式这一块内容,打开 Link Servi ...

  5. 【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例

    问题描述 在App Service上放置一个JS页面并引用msal.min.js,目的是获取AAD用户名并展示. 问题解答 示例代码 <!DOCTYPE html> <html> ...

  6. js数据结构--队列

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  7. 一分钟了解 ChatGPT 语音对话

    一.背景 近期 ChatGPT 推出新的语音和图像功能,可以与用户进行语音对话或基于用户上传的图像进行分析和对话,提供了一种新的.更直观的交互体验.用户可以更轻松地表达自己的需求.提出问题,并获得 C ...

  8. Unity - Windows获取屏幕分辨率、可用区域

    直接搜索最多的就是使用System.Windows.Form.Screen类,但因为unity用的是mono,不能正常使用这个方法 可使用win32api获取,这里只尝试了获取主要屏幕的分辨率,而且没 ...

  9. JAVA多线程(3)——如何加锁

    1.加锁不正确导致数据不一致:m1执行过程中,m2(未加synchronized)可以执行,因为m2不用获得锁就可以执行 1 public class TT implements Runnable { ...

  10. [Python] Turtle库的运用, 创作精美绘画

    更多示例代码下载地址 : https://github.com/Amd794/Python123 前言 最初来自于 Wally Feurzig 和 Seymour Papert 于 1966 年所创造 ...