背景
主要是为了测试用python进行redis数据迁移
如下
Python3操作redis百万级数据迁移,单机到单机,集群到集群
使用pipeline提交数据,50万各种数据类型键值对,大概7s生成
脚本
内容如下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 2024/4/24
import random
import string
import redis
from rediscluster import RedisCluster
from datetime import datetime
import time
def generate_random_string(length):
letters_and_digits = string.ascii_letters + string.digits
random_string = ''.join((random.choice(letters_and_digits) for i in range(length)))
return random_string
def redis_pipe_write(redis_client, count, batch_size=100):
"""
使用pipeline写入测试数据,循环batch_size,提交一次数据
:param redis_client: redis实例
:param count: 循环次数
:param batch_size: 每次pipeline队列数,不要太大
:return:
"""
# 危险操作,清空数据库
# redis_client.flushdb()
with redis_client.pipeline() as pipe: