2021SC@SDUSC
本次报告讨论一些文件缓存的处理,主要设计四个类CacheService、CacheServiceJDKImpl类、CacheServiceRedisImpl类、CacheServiceRocksDBImpl类,他们的关系如下图所示,显然后三个实现了CacheService的接口

一、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)它能够保留插入元素的顺序,并且可以指明每个元素的过期时间

本文介绍了文件缓存处理中使用的几种技术,包括Redis缓存、CacheServiceJDKImpl类实现和RocksDB缓存。详细解释了Redis作为key-value存储系统的特性和应用场景,以及RocksDB作为高性能持久化KV数据库的优势。
3431

被折叠的 条评论
为什么被折叠?



