`
jahu
  • 浏览: 60869 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

(转)Redis从文件中批量执行命令

 
阅读更多

http://blog.csdn.net/u012689336/article/details/53332653

 

Redis中,如果要批量执行某些命令,在redis的redis-cli下,只能一条条的执行指令,实在太麻烦了! 

 

如果把要执行的命令一行行存储到文件中,然后一次性执行完成。

 

1、创建文件

 

首先创建一个txt文件,将要执行的指令一行一行写进去。

[sparkadmin@hadoop4 redis-3.2.4]$ vim d1.txt 
set mykey1 value1
zadd sortedsort 0 a 1 b 3 c
sadd sort mongodb mysql oracle
set mykey2 value2
hmset hash name "redis" description "redis basic commands for caching" likes 20

 

 

2、执行导入

 

导入使用cat 和redis-cli命令组合,一个用来读取文件内容,一个用来发送文件到redis执行,如果要导入的文件和redis在同一台服务器上,可以直接将本地文件中的指令导入redis执行

 

[sparkadmin@hadoop4 redis-3.2.4]$ cat d1.txt | redis-cli -a runoob
OK
(integer) 3
(integer) 3
OK
OK

 

 

 

我们可以看到,你输入多少条指令,就会有多少行返回记录,并且告诉你它们的执行结果,如果你导入的指令比较多,可以使用--pipe 这个参数来启用pipe协议,它不仅仅能减少返回结果的输出,还能更快的执行指令。

 

[sparkadmin@hadoop4 redis-3.2.4]$ cat d1.txt | redis-cli -a runoob --pipe
All data transferred. Waiting for the last reply...
ERR unknown command 'add'
ERR unknown command 'add'
ERR unknown command 'et'
ERR wrong number of arguments for MSET
Last reply received from server.
errors: 4, replies: 5

 

 

 

如果这个提示不知道的命令,这是因为redis-cli中只支持doc格式的换行符 \r\n ,如果你在Linux下、Mac下或者Windows下创建的文件,最好都转个码。没有转码的文件,执行会失败。 

 

[sparkadmin@hadoop4 redis-3.2.4]$ unix2dos d1.txt 
-bash: unix2dos: command not found

 

提示没有这个命令,就需要进行安装。

 

[sparkadmin@hadoop4 redis-3.2.4]$ sudo yum install unix2dos -y

 

 

 

再进行转码:

 

[sparkadmin@hadoop4 redis-3.2.4]$ unix2dos d1.txt             
unix2dos: converting file d1.txt to DOS format ...

 

[sparkadmin@hadoop4 redis-3.2.4]$ cat d1.txt | redis-cli -a runoob --pipe
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 5

 

 

 

如果你要导入数据到远程机器上,那么可以使用下面的方法将文件导入到远程服务器:

 

[sparkadmin@hadoop4 redis-3.2.4]$ cat d1.txt | redis-cli -a runoob -p 6380 -h 192.168.1.100 --pipe

All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 5

分享到:
评论

相关推荐

    redis_helper c++ redis操作文件

    执行命令: ```cpp int result = redis.command("INCR", "counter"); ``` `redis.command` 方法可能是一个通用的接口,用于执行任何 Redis 命令,并将结果转换为适当的数据类型。 对于集合型操作,如列表(List)、...

    C#Redis引用文件

    6. **事务**:StackExchange.Redis提供了事务支持,允许批量执行命令: ```csharp var transaction = db.CreateTransaction(); transaction.StringSetAsync("key1", "value1"); transaction.StringSetAsync("key...

    redis桌面文件.zip

    5. **事务管理**:支持Redis的事务操作,可以批量执行命令,确保操作的原子性。 6. **数据导入导出**:提供数据导入和导出功能,可以将Redis中的数据导出为文件,或者从文件导入数据到Redis,这对于数据备份和迁移...

    redis桌面可视化工具 window及一些相关命令

    这类工具提供了图形化的界面,使得用户可以直观地查看、添加、修改和删除Redis中的键值对,以及执行各种Redis命令。 Redis桌面可视化工具通常具备以下功能: 1. 数据浏览:可以查看Redis服务器中的所有键值,包括键...

    Redis-PipeLine批量导入.docx

    总的来说,Redis Pipeline 批量导入是一种高效的数据导入方式,通过预处理命令文件并使用 Redis 协议格式,可以确保数据的准确导入并减少网络延迟。同时,结合 MySQL 数据库的特性,可以方便地将数据库数据转换为 ...

    redis-3.2.9.tar.gz+redis-3.2.1.gem.rar

    - 执行命令:`redis.set('key', 'value')`,`redis.get('key')`等。 3. **高级特性**: - 客户端支持发布/订阅(Publish/Subscribe)模式,可以实现消息传递。 - 可以使用多线程或者`redis.pipelining`批量处理...

    redis客户端免安装版

    5. **备份与导入**:可以导出Redis数据库到文件,或者从文件导入数据,这对于数据迁移或备份恢复非常实用。 6. **监控与统计**:显示服务器的基本状态信息,如内存使用、连接数、命令执行速率等,帮助用户监控Redis...

    redis主从哨兵配置

    在 start-all.sh 文件中编写批量启动命令,例如启动主节点和从节点。 3. 测试执行 执行 start-all.sh 文件,查看后台执行 ps -ef | grep redis 命令。 七、结语 本文详细介绍了 Redis 主从哨兵配置的过程和步骤...

    RedisDesktopManager 2020.7

    redis windows 客户端最新版 RDM为您提供了一个易于使用的 GUI,可以访问您的 Redis 数据库并执行一些基本操作: ...从 RDB 文件中导入数据 - 您可以轻松地将大型 rdb 文件中的数据分到多个较小的 redis 服务器上

    php-redis中文手册

    - **Pipeline**:批量发送命令,减少网络延迟。 - **Redis Sentinel**:配合Sentinel集群管理系统,提供高可用性。 - **Redis Cluster**:利用Redis Cluster实现数据分片和故障转移。 ### 8. 使用PHP-Redis中文手册...

    redisredis 免安装版

    4. **事务**:Redis支持简单事务,可以批量执行命令,保证原子性。 5. **Lua脚本**:通过内置的Lua解释器,可以在Redis中执行脚本,实现更复杂的逻辑。 6. **发布/订阅(Pub/Sub)**:消息传递机制,允许客户端...

    RedisStudio--redis界面查看工具

    6. **事务支持**:支持Redis的事务操作,可以批量执行一组命令。 7. **持久化与复制**:协助用户理解和配置Redis的持久化策略(如RDB和AOF)以及主从复制设置。 8. **性能监控**:提供基本的性能指标,如命令执行...

    Redis官方文档.zip_redis

    在`MULTI`与`EXEC`之间的命令会被批量执行,保证在同一时刻不会被其他客户端干扰。 4. **复制** Redis的复制功能允许创建一个或多个从节点,主节点的数据更改会实时同步到从节点,提高可用性和数据安全性。在高...

    redisplus 3.2 客户端

    客户端支持Redis的事务功能,用户可以批量执行一系列操作,并观察事务的结果,这对保持数据一致性至关重要。 **7. 高级搜索** RedisPlus提供了高级搜索功能,可以按键、值或模式进行搜索,快速定位所需的数据。 **...

    redis-2.8.19

    4. **事务**:Redis的事务可以批量执行多个命令,保证命令的顺序执行。 5. **lua脚本支持**:用户可以通过lua脚本来实现复杂的逻辑,提升处理效率。 6. **发布订阅**:提供pub/sub功能,用于实现简单的消息队列服务...

    redis-desktop-manager-0.9.9

    4. **事务处理**:使用 Redis 的事务功能,可以批量执行命令,并观察它们的执行效果。 5. **监视器**:实时监控 Redis 服务器的性能指标,如 QPS(每秒查询次数)、内存使用情况等。 6. **脚本支持**:编写 Lua 脚本...

    Redis可视化工具Redis Desktop Manager

    - **执行命令**:内置命令行窗口,可以直接输入Redis命令进行操作,如`SET`、`GET`、`DEL`等。 - **数据筛选**:可以设置过滤条件,只显示满足条件的键,方便数据查找和分析。 - **数据导出**:选择要导出的键,...

    redis 可视化工具

    - 数据导入导出:将 Redis 中的数据导出为文件,或从文件导入数据,方便数据迁移和备份。 - 性能监控:展示 Redis 的 CPU 使用率、内存占用、网络带宽等关键指标,帮助优化系统性能。 - 警报设置:当某些指标超出...

    RedisDesktopManager Redis管理工具

    7. **命令行**:内置命令行接口,可以直接输入Redis命令,进行更复杂的操作,如执行脚本或执行批量操作。 8. **数据可视化**:对于集合和有序集合,RedisDesktopManager提供图表展示,使数据更加直观。 通过使用...

    redis-3.0.0.gem

    5. **事务**:Redis支持事务,可以批量执行命令。在Ruby中,可以通过`multi`开始一个事务,然后执行一系列操作,最后用`exec`提交事务。 6. **发布/订阅**:Redis的发布/订阅功能允许实时通信。Ruby库提供了`...

Global site tag (gtag.js) - Google Analytics