使用Redis存储常用文件设计方案

1 需求背景

      文件存储在一个文件夹内,每一个文件很小,但是数量很多,文件总量不是特别大,大约在10G以下

2 好处

           1  与文件存储在本地磁盘进行比较,性能更好,资源使用率更小

           2  减少了分布式情况下,文件不一致的情况

3 如何开发

1 如何把文件存储到redis

            2  如何从redsi中读取文件

4 代码

       4.1 存   

1 如何把文件存储到redis中代码   ,redis使用的是spring boot 的 RedisTemplate

2 把文件转换为一个二进制数组,并且用Base64进行字符串加密存储为String 类型存储到redis中

   FileInputStream fileInputStream  = new FileInputStream(new File(FILE_DIR));
   byte[] b = new byte[fileInputStream.available()];
   fileInputStream.read(b);
   String value = Base64.getEncoder().encodeToString(b);
   redisTemplateClient.set(FILE_DIR, value);

4.2 取

  1 从redis中取出得数据为String类型的,将String类型的对象使用Base64解密为二进制数组

  2 二进制数组可轻松构架你需要的文件类型

      Object obj = redisTemplateClient.get(tile);
      byte[] bytes = Base64.getDecoder().decode(obj.toString());
发布了91 篇原创文章 · 获赞 21 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_27130997/article/details/103074526
今日推荐