Python3交互redis cluster

2024-08-21 04:32
文章标签 redis cluster python3 交互

本文主要是介绍Python3交互redis cluster,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装

pip install redis-py-cluster

示例代码

# pip install redis-py-cluster
from rediscluster import *"""
redis 集群信息:
Using 3 masters:
192.168.196.131:7000
192.168.196.129:7003
192.168.196.131:7001
Adding replica 192.168.196.129:7004 to 192.168.196.131:7000
Adding replica 192.168.196.131:7002 to 192.168.196.129:7003
Adding replica 192.168.196.129:7005 to 192.168.196.131:7001
"""if __name__ == '__main__':try:# 构建所有的节点,Redis会使⽤CRC16算法,将键和值写到某个节点上startup_nodes = [{'host': '192.168.196.131', 'port': '7000'},{'host': '192.168.196.129', 'port': '7003'},{'host': '192.168.196.131', 'port': '7001'},]# 构建StrictRedisCluster对象src = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)# 设置键为key1、值为test-hello-world的数据result = src.set('key1', 'test-hello-world')print(result)# 获取键为namename = src.get('key1')print(name)except Exception as e:print(e)

运行如下:

13423234-6d9189d11f2e1e15.png

封装类方法

# pip install redis-py-cluster
from rediscluster import *"""
redis 集群信息:
Using 3 masters:
192.168.196.131:7000
192.168.196.129:7003
192.168.196.131:7001
Adding replica 192.168.196.129:7004 to 192.168.196.131:7000
Adding replica 192.168.196.131:7002 to 192.168.196.129:7003
Adding replica 192.168.196.129:7005 to 192.168.196.131:7001
"""class redisClusterHelper():def __init__(self,startup_nodes):try:# 构建StrictRedisCluster对象self.src = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)except Exception as e:print(e)def set_key(self,key,value):return self.src.set(key, value)def get_key(self,key):return self.src.get(key)if __name__ == '__main__':# 设置redis cluster集群的master节点startup_nodes = [{'host': '192.168.196.131', 'port': '7000'},{'host': '192.168.196.129', 'port': '7003'},{'host': '192.168.196.131', 'port': '7001'},]# 创建redis cluster的连接rch = redisClusterHelper(startup_nodes)# 设置key值rch.set_key("test2","hello2")# 获取key值print(rch.get_key('test2'))

运行如下:

13423234-8eda281babee97ef.png
13423234-0e3934319aa622f6.png

这篇关于Python3交互redis cluster的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092123

相关文章

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给

Redis中使用布隆过滤器解决缓存穿透问题

一、缓存穿透(失效)问题 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有命中,会去数据库中查询,而数据库中也没有该数据,并且每次查询都不会命中缓存,从而每次请求都直接打到了数据库上,这会给数据库带来巨大压力。 二、布隆过滤器原理 布隆过滤器(Bloom Filter)是一种空间效率很高的随机数据结构,它利用多个不同的哈希函数将一个元素映射到一个位数组中的多个位置,并将这些位置的值置

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因

laravel框架实现redis分布式集群原理

在app/config/database.php中配置如下: 'redis' => array('cluster' => true,'default' => array('host' => '172.21.107.247','port' => 6379,),'redis1' => array('host' => '172.21.107.248','port' => 6379,),) 其中cl

Redis的rehash机制

在Redis中,键值对(Key-Value Pair)存储方式是由字典(Dict)保存的,而字典底层是通过哈希表来实现的。通过哈希表中的节点保存字典中的键值对。我们知道当HashMap中由于Hash冲突(负载因子)超过某个阈值时,出于链表性能的考虑,会进行Resize的操作。Redis也一样。 在redis的具体实现中,使用了一种叫做渐进式哈希(rehashing)的机制来提高字典的缩放效率,避

【吊打面试官系列-Redis面试题】说说 Redis 哈希槽的概念?

大家好,我是锋哥。今天分享关于 【说说 Redis 哈希槽的概念?】面试题,希望对大家有帮助; 说说 Redis 哈希槽的概念? Redis 集群没有使用一致性 hash,而是引入了哈希槽的概念,Redis 集群有 16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽, 集群的每个节点负责一部分 hash 槽。

Redis地理数据类型GEO

通常要计算两个地理位置的距离不是很方便,这里可以直接通过Redis提供的GEO操作来完成地理位置相关的计算 1)添加地理位置 语法:geoadd key longitude latitude member [longitude latitude member] ...字段说明:key:存放地理位置的集合名称longitude:地理坐标的经度latitude:地理坐标的纬度member:表示这

Redis-主从集群

主从架构 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。 主从数据同步原理 全量同步 主从第一次建立连接时,会执行全量同步,将master节点的所有数据都拷贝给slave节点,流程: 判断是否是第一次同步,如果是,返回版本信息(replication id 和offset),将salve节点的版本信息变为master的