如何向redis中写入大量的数据

 更新时间:2025年08月06日 10:09:48   作者:及时机芯  
文章介绍了通过Python脚本生成Redis命令并输出至文件,再用Shell脚本批量执行的流程,强调Pipeline技术可提升批量写入效率,并说明如何验证数据插入成功

1.编写Python脚本,生成redis命令

  • redis_info.py
#!/usr/bin/python
for i in range(5000000): #循环的数量
        print 'set name'+str(i),'hello'+str(i) #str(i)将int类型转换为str类型,否则不能进行字符串拼接

2.运行python脚本输出到redis_comm.txt文件中

python redis_info.py > redis_comm.txt
  • 生成一个redis_comm.txt文件
head -n 10 redis_comm.txt 
set name0 hello0
set name1 hello1
set name2 hello2
set name3 hello3
set name4 hello4
set name5 hello5
set name6 hello6
set name7 hello7
set name8 hello8
set name9 hello9

3.将redis命令生成Redis Protocol

编写脚本redis_data.sh

  • #!/bin/bash
while read CMD; do
  # each command begins with *{number arguments in command}

  XS=($CMD); printf "*${#XS[@]}
"
  # for each argument, we append ${length}
{argument}

  for X in $CMD; do printf "$${#X}
$X
"; done
done < redis_comm.txt

4.运行shell脚本

sh redis_data.sh > redis_data.txt
head -n 10 redis_data.txt 
*3
$3
set
$5
name0
$6
hello0
*3
$3
set

5.管道(Pipeline)就是为了改善这个情况的

利用管道技术,客户端可以一次性发送多个请求而不用等待服务器的响应,待所有命令都发送完后再一次性读取服务的响应。

 cat redis_data.txt |redis-cli -h 192.168.102.95 --pipe

直接就可以运行了

6.验证,去查看数据是否插入成功

info查看

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Redis键迁移(move、dump、restore、migrate)的三种实现

    Redis键迁移(move、dump、restore、migrate)的三种实现

    键迁移就是把数据由一个Redis迁移到另一个Redis,本文主要介绍了Redis键迁移(move、dump、restore、migrate)的三种实现,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • 使用Redis如何设置永久有效

    使用Redis如何设置永久有效

    这篇文章主要介绍了使用Redis如何设置永久有效,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 详解利用redis + lua解决抢红包高并发的问题

    详解利用redis + lua解决抢红包高并发的问题

    本篇文章主要介绍了利用redis + lua解决抢红包高并发的问题 ,详细的讲诉了需求分析和方案,有兴趣的可以了解一下。
    2016-11-11
  • 一文详解Redis在Ubuntu系统上的安装步骤

    一文详解Redis在Ubuntu系统上的安装步骤

    安装redis在Ubuntu上有多种方法,下面这篇文章主要给大家介绍了关于Redis在Ubuntu系统上安装的相关资料,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • redis缓存神器之@Cacheable注解详解

    redis缓存神器之@Cacheable注解详解

    文章介绍了如何在SpringBoot中使用Redis和@Cacheable注解进行缓存分页数据,以及在数据更新时如何更新缓存,通过使用@EnableCaching、@Cacheable、@CachePut和@CacheEvict注解,可以简化缓存操作并提高系统性能
    2025-11-11
  • Linux下安装Redis 6.0.5的实现

    Linux下安装Redis 6.0.5的实现

    本文详细介绍了在Linux系统下安装Redis 6.0.5的步骤,包括安装准备、编译安装、启动服务、设置密码和配置文件修改等,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • 图解Redis主从复制与Redis哨兵机制

    图解Redis主从复制与Redis哨兵机制

    这篇文章主要介绍了图解Redis主从复制与Redis哨兵机制,今天分享一下Redis的持久化、事务、管道相关的知识点,需要的朋友可以参考下
    2023-03-03
  • Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

    Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

    在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能会遇到各种连接问题,其中“客户端IP不在白名单中”是一个常见的错误,本文将从错误分析、原因排查、解决方案等详细探讨如何解决这一问题
    2025-01-01
  • Redis如何使用Pipeline实现批处理操作

    Redis如何使用Pipeline实现批处理操作

    Redis Pipeline 是一种优化 Redis 操作的机制,通过将多个命令打包发送到 Redis 服务器,减少客户端与服务器之间的网络往返时间,本文主要来聊聊Redis如何使用Pipeline实现批处理操作,需要的可以了解下
    2025-02-02
  • 深入理解redis删除策略和淘汰策略

    深入理解redis删除策略和淘汰策略

    每隔一段时间就扫描一定数据的设置了过期时间的key,并清除其中已过期的keys,本文主要介绍了深入理解redis删除策略和淘汰策略,感兴趣的可以了解一下
    2024-08-08

最新评论