KKFileView(十二)——文件缓存处理

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值