python操作redis集群、redis主从+哨兵
主从+哨兵
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主从+哨兵的更多相关文章
- 如何搭建Redis集群(主从+哨兵)
一.什么是redis主从复制? 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点 ...
- Redis集群--Redis集群之哨兵模式
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 搭建R ...
- Redis集群的主从切换研究
目录 目录 1 1. 前言 1 2. slave发起选举 2 3. master响应选举 5 4. 选举示例 5 5. 哈希槽传播方式 6 6. 一次主从切换记录1 6 6.1. 相关参数 6 6.2 ...
- 基于Docker搭建Redis集群(主从集群)
基于Docker搭建Redis集群(主从集群) 最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得一定是之前写的这篇 <基于Docker的Redis集群搭建> 文章 ...
- redis集群(主从配置)
市面上太多kv的缓存,最常用的就属memcache了,但是memcache存在单点问题,不过小日本有复制版本,但是使用的人比较少,redis的出现让kv内存存储的想法成为现实.今天主要内容便是redi ...
- 5分钟实现用docker搭建Redis集群模式和哨兵模式
如果让你为开发.测试环境分别搭一套哨兵和集群模式的redis,你最快需要多久,或许你需要一天?2小时?事实是可以更短. 是的,你已经猜到了,用docker部署,真的只需要十几分钟. 一.准备工作 拉取 ...
- 认识Redis集群——Redis Cluster
前言 Redis集群分三种模式:主从模式.sentinel模式.Redis Cluster.之前没有好好的全面理解Redis集群,特别是Redis Cluster,以为这就是redis集群的英文表达啊 ...
- phpredis Redis集群 Redis Cluster
官方url: https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#readme 2017年10月29日20:44:25 ...
- springboot+shiro+redis(集群redis版)整合教程
相关教程: 1. springboot+shiro整合教程 2. springboot+shiro+redis(单机redis版)整合教程 3.springboot+shiro+redis(单机red ...
- Redis 集群_主从配置_哨兵模式
首先:slaveof 可以在[从]服务器启动一个service服务,直接将[从]服务器定义为[从Redis] redis-server --slaveof <master-ip> < ...
随机推荐
- 2023-09-01:用go语言编写。给出两个长度均为n的数组, A = { a1, a2, ... ,an }, B = { b1, b2, ... ,bn }。 你需要求出其有多少个区间[L,R]
2023-09-01:用go语言编写.给出两个长度均为n的数组, A = { a1, a2, ... ,an }, B = { b1, b2, ... ,bn }. 你需要求出其有多少个区间[L,R] ...
- 纯分享:将MySql的建表DDL转为PostgreSql的DDL
背景 现在信创是搞得如火如荼,在这个浪潮下,数据库也是从之前熟悉的Mysql换到了某国产数据库. 该数据库我倒是想吐槽吐槽,它是基于Postgre 9.x的基础上改的,至于改了啥,我也没去详细了解,当 ...
- Maven安装与配置教程
一.安装前检查 检查电脑上是否安装JDK,如果没有安装,请查看JDK安装教程:点我查看 如果电脑上已经安装JDK,按Win 和R键,输入cmd,然后点击确定 输入java -version,点击回车, ...
- nvm、node、vue安装、vue项目创建打包
nvm.node.vue安装.创建vue项目 nvm作用:可以管理多个版本的node,切换node版本,下载node. 前情提要 参 考:https://zhuanlan.zhihu.com/p/51 ...
- Cplex求解教程(基于OPL语言,可作为大规模运算输入参考)
最近导导让牛牛改篇论文,牛牛在她的指导下把非线性问题化成了线性.然鹅,化成线性后的模型决策变量和约束条件均达到上百甚至上千个,这让牛牛犯了难,以下方法或许能为这样大规模模型的变量和约束输入提供思路(๑ ...
- 【最佳实践】高可用mongodb集群(1分片+3副本):规划及部署
结合我们的生产需求,本次详细整理了最新版本 MonogoDB 7.0 集群的规划及部署过程,具有较大的参考价值,基本可照搬使用. 适应数据规模为T级的场景,由于设计了分片支撑,后续如有大数据量需求,可 ...
- ESP32-MicroPython 开发环境
Linux/Mac 下使用MicroPython开发ESP32 刷入固件 使用 esptool.py 将 MicroPython 刷入 ESP32 开发板涉及几个步骤. 1. 安装 esptool 如 ...
- 一个vuepress配置问题,引发的js递归算法思考
前言 这两天在尝试用语雀+ vuepress + github 搭建个人博客. 小破站地址 :王天的 web 进阶之路 语雀作为编辑器,发布文档推送 github,再自动打包部署,大概流程如下. 问题 ...
- ruoyi框架里面设置登录超时时间不能生效
问题 项目使用到了ruoyi框架,给登录超时限制了12小时,但是每次几个小时后就提示过期,要求再登录一次. 首先怀疑是不是redis内存淘汰策略出现了问题. 先使用一下的命令 systemctl st ...
- 学习Hadoop不错的系列文章(转)
http://www.cnblogs.com/xia520pi/archive/2012/04/22/2464934.html 1)Hadoop学习总结 (1)HDFS简介 地址:http://for ...