Jedis的基本操作 --把文本文件中的数据导入Redis数据库

本文介绍如何使用Jedis将文本文件内容导入到Redis数据库。主要步骤包括连接Redis,通过文件输入流读取数据并存储到Map中,最后将Map存入Redis。在Redis命令行操作时,需注意中文显示问题,需使用`redis-cli --raw`查看正确内容。

一、思路

1、连接到redis

2、建立一个文件输入流,再新建一个map把流中的数据导入到map里(它的key为     文本的行号,value为文本每行的数据)。

3、map存储到redis。

二、代码

public class FileToRedisUtil {

    /**
     * 保存文本文件到Redis数据库
     * @param host  redis所在主机的ip
     * @param path  文件所在的路径(包含文件名及文件后缀)
     * @param key   文件的key值
     * @throws Exception
     */
    public void saveTextFileToRedis(String host, String path, String key) {
        //建立一个连接
        Jedis redis = new Jedis(host, 6379);
        //把文本的每一行数据都读入到map中,<行号,每行的数据>。
        Map map = fileToMap(path);
        //数据存储到redis中
        redis.hmset(key, map);
    }

    private Map fileToMap(String path) {
        Map<String, String> map = new HashMap();
        String data = null;
        int i = 0;
        try(BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(path)),"GBK"))){

            while ((data = br.readLine())!= null) {
                System.out.println(data);
                i++;
                map.put(i+"",data);
            }
        }catch (IOException e){
            e.printStackTrace();
        }
        return map;
    }

    public static void main(String[] args) {
        FileToRedisUtil fileToRedisUtil = new FileToRedisUtil();
        fileToRedisUtil.saveTextFileToRedis("10.0.104.14", "E:\\test.txt", "test");
    }

}

三、注意

Redis在使用命令行操作时,如果查看内容中包含中文,会显示16进制的字符串。

在输入redis-cli 的时候后面加 --raw,才能够看到中文。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值