一、思路
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,才能够看到中文。
本文介绍如何使用Jedis将文本文件内容导入到Redis数据库。主要步骤包括连接Redis,通过文件输入流读取数据并存储到Map中,最后将Map存入Redis。在Redis命令行操作时,需注意中文显示问题,需使用`redis-cli --raw`查看正确内容。
2万+





