用脚本批量执行redis命令

原创 2015年11月19日 20:17:52

如果将命令写到txt文件中,形式为每行一个命令:set key value

 然后用cat example.txt | redis-cli --pipe

会提示All data transferred. Waiting for the last reply...
ERR syntax error
Last reply received from server.
errors: 1, replies: 2


需要将其转换成raw redis protocol形式,然后用unix2dos将文件转换,可以用shell脚本来实现前面的操作,再用cat example.txt | redis-cli --pipe

代码如下:

第一个参数是生成的set key value的文件,每行一个命令

第二个是生成的raw redis protocol文件

#!/bin/bash

if [ $# -lt 2 ]
then
	 echo "Usage: file1 file2"
	 exit -1
fi

FILEIN=$1
FILEOUT=$2

function gen_raw_redis
{
   while read -a col
   do
		proto="${proto}*${#col[@]}\n"
		for ((i=0; i < ${#col[@]}; i++))
		do
			proto="${proto}\$${#col[i]}\n${col[i]}\n"
		done
   done < ${FILEIN}
   
   echo -e ${proto} > ${FILEOUT}

   unix2dos ${FILEOUT}
}

gen_raw_redis


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Redis从文件中批量执行命令

在redis中,如果要批量执行某些命令,在redis的redis-cli下,只能一条条的执行指令,实在太麻烦了!  如果把要执行的命令一行行存储到文件中,然后一次性执行完成。 1、创建文件 ...

用脚本批量执行redis命令

最近在维护一个用redis做缓存的项目时,遇到了产品需要不定时清除用户数据的需要,由于每次要清除的用户数据很多,每次手动删除的话比较繁琐,最后采用了批处理脚本的方式来执行清除的命令 首先将要执行...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

批量执行redis命令

首先将要执行的命令放在一个文本文件中(redis-commons.txt),一条命令一行(命令行的第一个字符最好是空格,因为有可能会出命令行第一个字符丢失) select 1 del "te...

Android数据库更新,批量执行大量的sql脚本

数据库更新,根据数据库版本号,执行大量的sql文件,且文件很大,加起来共一百多M 。(我发表博客也是为了记录自己的成长,有不对的地方还请大家多多指点,谢谢。)          项目中的sql文件:...

ANT批量执行Jmeter脚本

一、环境准备:   1、Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html     命令行输入...

ANT批量执行Jmeter脚本

一、环境准备:1、Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html 命令行输入:Java -v...

Neo4j使用shell脚本执行命令

Neo4j是一个图形化的数据库,可以很直观的看到各种数据之间的关系。 1、在Linux中安装Neo4j 可以在官网上下载需要的版本:https://neo4j.com/download/ 我下载的是:...

c#中用lua脚本执行redis命令

c#中用lua脚本执行redis命令 直接贴出代码,实现执行lua脚本的方法,用到的第三方类库是 StackExchange.Redis(nuget上有) 注:下面的代码是简化后的,实际使用要修改, ...

redis执行Lua脚本

Lua 是一个小巧的脚本语言。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lu...

Redis命令执行全过程

这个问题说简单也很简单,无非就是客户端发送命令请求,服务器读取命令请求,然后是命令执行器查找命令实现,执行预备操作,调用命令实现函数,执行后续工作。 但是我们想要了解的不能简简单单的就是这些。下面我...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)