首页 > 数据库 >python操作redis集群

python操作redis集群

时间:2023-05-09 12:44:40浏览次数:41  
标签:string python redis 192.168 datetime host 集群 port

1 基础环境分析

redis版本:redis-5.0.14

 

2 脚本示例

说明:向redis集群里面写入10000000条数据,再查询下这些数据

#!/usr/bin/python3
import random
import string
import hashlib
from rediscluster import RedisCluster
import datetime

"""
使用redis的方式向redis集群中写入key, 类型为 string
pip3 install redis-py-cluster==2.1.3 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
"""

#全局
chars = string.ascii_letters + '01234567896'
size = 24
ranlong = 10000000
startup_node = [
    {"host": "192.168.2.150", "port": 6379},
    {"host": "192.168.2.150", "port": 6380},
    {"host": "192.168.2.150", "port": 6381},
    {"host": "192.168.2.150", "port": 6382},
    {"host": "192.168.2.151", "port": 6379},
    {"host": "192.168.2.151", "port": 6380},
    {"host": "192.168.2.151", "port": 6381},
    {"host": "192.168.2.151", "port": 6382},
    {"host": "192.168.2.152", "port": 6379},
    {"host": "192.168.2.152", "port": 6380},
    {"host": "192.168.2.152", "port": 6381},
    {"host": "192.168.2.152", "port": 6382}
]

def random_string_generator(startup_node,ranlong=10000000,str_size=24, allowed_chars=chars, write=1):
    starts = datetime.datetime.now()
    try:
        redis_conn = RedisCluster(startup_nodes=startup_node, password="", decode_responses=True)
        #写数据
        if write == 1:
            for i in range(ranlong):
                String_long = str.lower(''.join(random.choice(allowed_chars) for x in range(str_size)))
                String_md5s = hashlib.md5(String_long.encode()).hexdigest()
                redis_conn.set(String_md5s,String_long)
            else:
                seconds = (datetime.datetime.now() - starts).total_seconds()
                print("write second {}".format(seconds))
        #读数据
        elif write == 0:
            seconds = (datetime.datetime.now() - starts).total_seconds()
            stringvalue = redis_conn.get('000000000432ad176430163a3e20d3e')
            print("read key={0} value={1} second={2}".format('000000000432ad176430163a3e20d3e', stringvalue, seconds))
    except Exception as e:
        print("connect error ", str(e))

#写数据
#random_string_generator(startup_node, ranlong, size, chars, write=1)

#读数据
random_string_generator(startup_node, write=0)

 

标签:string,python,redis,192.168,datetime,host,集群,port
From: https://www.cnblogs.com/fanrui/p/17384547.html

相关文章

  • Centos7安装Redis详细步骤(配置开机自启)
    Redis获取redis安装包使用tar命令解压。$tar-zxzfredis-6.2.6.tar.gz编译和安装redis进入redis目录,执行make编译。$cdredis-6.2.6/$make编译完成后,执行makeinstall命令进行安装。$makeinstall移动redis到/usr/local/redismvredis-6.2.6/usr/local/r......
  • 安装python torch 遇到的问题
    一、解决torch指令安装时Couldnotfindaversionthatsatisfiestherequirementxxx(fromversions:none)1.进入torch的wheel下载网站https://download.pytorch.org/whl/torch_stable.html  先下载和系统对应的whl文件2.pycharm终端进入到whl文件的地址,执行下面的命令......
  • Python自制端口扫描器
    自制Python端口扫描器一、工具介绍这个Python端口扫描器实现了一个基于PyQt5的端口扫描器界面,主要包含以下部分:1.使用`setdefaulttimeout()`方法设置默认的超时时间为0.001秒。2.使用`socket`模块创建一个套接字,并尝试与指定的端口进行连接。3.如果连接成功,则在文本......
  • Windows下cygwin编译redis源码
    准备环境安装cygwin64下载地址:https://www.cygwin.com/运行安装程序,一直下一步选择阿里镜像,目前试过163,会比阿里慢需要选择的包有make、pkg-config、pythongcc相关是否需要还不确定安装重新可重复执行,缺少的包下次可以补上点击下一步等待安装完成即可下载redis源码https://......
  • python对时间戳数据进行可视化
    python对时间戳数据进行可视化步骤1:加载模块&读取数据importpandasaspdimportosimportmatplotlib.pyplotaspltimporttimeimportdatetimeplt.rcParams['font.sans-serif']=['SimHei']#设置字体为simhei显示中文plt.rcParams['axes.unicode_minus']......
  • 【configparser】Python解析配置文件的模块使用总结
    简介configparser是Pyhton标准库中用来解析配置文件的模块,并且内置方法和字典非常接近。Python2.x中名为ConfigParser,3.x已更名小写,并加入了一些新功能。调用importconfigparserconfig=configparser.ConfigParser()config.read("config.ini")常用方法#获取所用......
  • python相关的一些小便条
    1.关于 Nomodulenamed'PIL' 如果是报错这个,不能直接pipinstallPIL,需要装下面的pipinstallpillow 2.关于Nomodulenamed'qcloud_cos'这个是腾讯云存储的组件pipinstall-Ucos-python-sdk-v53.关于文件命名如果文件命名跟命令冲突,会有可能......
  • python与go的对接
    python与go的对接在项目中遇到的问题,go写的程序需要被python调用,要将项目打包成.so文件首先要确保gobuild能编译出可执行文件,再打包成.so文件,因为原理与gobuild是一样的编译用测试项目来记录解决过程测试环境:windows64源码目录结构:---test|___Add___add.go|___......
  • 聊一聊redis十种数据类型及底层原理
    概述Redis是一个开源的高性能键值数据库,它支持多种数据类型,可以满足不同的业务需求。本文将介绍Redis的10种数据类型,分别是string(字符串)hash(哈希)list(列表)set(集合)zset(有序集合)stream(流)geospatial(地理)bitmap(位图)bitfield(位域)hyperloglog(基数统计)String概述string......
  • OceanBase集群缩容
    连接sys租户使用root用户连接sys租户的oceanbase数据库[admin]#mysql-h192.168.1.71-P2883-Doceanbase-uroot@sys-pOceanbase2881-A租户减少副本查看租户信息,sys、my_tenat租户(sys是系统租户,my_tenant是我创建的测试租户)的LOCALITY值包括:zone1、zone2、zone3mysql>s......