File to Redis

问题是这样的,现在需要把一个文件里的所有数据上传到redis的set中,文件里存储的就是ID,每行一个:

head id.list
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009

为了将这一万条记录添加到redis中的某个set中,需要写一个脚本来执行这个操作。

主要的思路就是构造一个如下命令组成的一堆命令:

sadd setname 10000

然后使用redis-cli将命令通过pipeline的形式发送到服务器。流程如下:

下面就是生成命令的shell脚本:

#!/bin/bash
INFILE=$1
SETKEY=$2
TOFILE=${SETKEY}'.data'
echo $TOFILE
rm $TOFILE >/dev/null 2>&1


while IFS= read -r line; do
    echo "sadd $SETKEY $line" >> $TOFILE
done < $INFILE
unix2dos $TOFILE

cat $TOFILE | ./redis-cli --pipe

在脚本的最后,通过下面的命令将所有的redis命令发送到了redis服务器中:

cat $TOFILE | ./redis-cli --pipe

可以在redis中查看是否正确。

对于将数据导入redis的其它格式中,也是类似的过程,只需要把循环中添加的命令改成需要的形式就可以了。

Done


 Previous
Data Types in MySQL Data Types in MySQL
1. 开始为了能更好地理解与使用MySQL,根据MySQL文档花点时间整理了一下MySQL的数据类型。MySQL中一共有五大类数据类型,如下图: 这篇文章只对其中的数字类型、字符串类型和时间类型进行总结。 在这些数据类型的使用中,有几个
2019-12-16
Next 
Character Sets and Collations in MySQL Character Sets and Collations in MySQL
最近遇到一个关于MySQL字符乱码的问题,比较好解决,但是为了更好地理解MySQL中的字符系统,参考MySQL的文档整理一下关于MySQL中字符集合字符序的问题。 1. 什么是字符集和字符序MySQL是存储数据的数据库,既然是存储数据的,那
2019-12-08