KKFileView(四)

2021SC@SDUSC

浅谈redis

1.介绍


Redis是一个key-value存储系统,它支持的value类型相对较多,包括string、list、set和zset,这些数据都支持push/pop/add/remove及交并补等操作,而且这些操作都是原子性的,在此基础上,redis支持各种不同方式的排序。为了保证效率,数据是缓存在内存中的,Redis会周期性的把数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave同步
Redis通常将数据存储到内存中,或被配置为使用虚拟内存,Redis有一个很重要的特点就是它可以实现持久化数据,通过两种方式可以实现数据持久化,一是RDB快照方式,将内存中的数据不断写入磁盘, 二是使用类似MySql的AOF日志方式,记录每次更新的日志,前者性能较高,但是可能会引起一定程度的数据丢失,后者相反,Redis支持即将数据到多台子数据库上,这种特性提高读取数据性能非常有益


2.本项目中redis主要用于通过文件名缓存文件,通过redis缓存判断文件名是否存在,用的的机制为缓存映射(MapCache)


        Redisson的分布式的RMapCache Java对象在基于RMap的前提下实现了针对单个元素的淘汰机制。同时仍然保留了元素的插入顺序。映射缓存(MapCache)它能够保留插入元素的顺序,并且可以指明每个元素的过期时间(专业一点叫元素淘汰机制)。另外还为每个元素提供了监听器,提供了4种不同类型的监听器。有:添加、过期、删除、更新四大事件。
如:

  @Override
    public void putPDFCache(String key, String value) {
        RMapCache<String, String> convertedList = redissonClient.getMapCache(FILE_PREVIEW_PDF_KEY);
        convertedList.fastPut(key, value);
    }

添加pdf映射

  @Override
    public String getPDFCache(String key) {
        RMapCache<String, String> convertedList = redissonClient.getMapCache(FILE_PREVIEW_PDF_KEY);
        return convertedList.get(key);
    }

通过文件名查找文件

  @Override
    public String getPDFCache(String key) {
        RMapCache<String, String> convertedList = redissonClient.getMapCache(FILE_PREVIEW_PDF_KEY);
        return convertedList.get(key);
    }

猜你喜欢

转载自blog.csdn.net/eldrida1/article/details/120937612