使用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());

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值