Halo开源项目第七讲:缓存机制如何实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4570个文字,预计阅读时间需要19分钟。
我们知道,频繁操作数据库会降低服务器的系统性能。因此,通常需要将频繁访问和更新的数据存入缓存。Halo项目也引入了缓存机制,并设置了多种实现方式,如自定义缓存、Redis等。
我们知道,频繁操作数据库会降低服务器的系统性能,因此通常需要将频繁访问、更新的数据存入到缓存。Halo 项目也引入了缓存机制,且设置了多种实现方式,如自定义缓存、Redis、LevelDB 等,下面我们分析一下缓存机制的实现过程。 基本介绍我们知道,频繁操作数据库会降低服务器的系统性能,因此通常需要将频繁访问、更新的数据存入到缓存。Halo 项目也引入了缓存机制,且设置了多种实现方式,如自定义缓存、Redis、LevelDB 等,下面我们分析一下缓存机制的实现过程。
自定义缓存1. 缓存的配置
由于数据在缓存中以键值对的形式存在,且不同类型的缓存系统定义的存储和读取等操作都大同小异,所以本文仅介绍项目中默认的自定义缓存。自定义缓存指的是作者自己编写的缓存,以 ConcurrentHashMap 作为容器,数据存储在服务器的内存中。在介绍自定义缓存之前,我们先看一下 Halo 缓存的体系图:
本人使用的 Halo 1.4.13 版本中并未设置 Redis 缓存,上图来自 1.5.2 版本。
可以看到,作者的设计思路是在上层的抽象类和接口中定义通用的操作方法,而具体的缓存容器、数据的存储以及读取方法则是在各个实现类中定义。
本文共计4570个文字,预计阅读时间需要19分钟。
我们知道,频繁操作数据库会降低服务器的系统性能。因此,通常需要将频繁访问和更新的数据存入缓存。Halo项目也引入了缓存机制,并设置了多种实现方式,如自定义缓存、Redis等。
我们知道,频繁操作数据库会降低服务器的系统性能,因此通常需要将频繁访问、更新的数据存入到缓存。Halo 项目也引入了缓存机制,且设置了多种实现方式,如自定义缓存、Redis、LevelDB 等,下面我们分析一下缓存机制的实现过程。 基本介绍我们知道,频繁操作数据库会降低服务器的系统性能,因此通常需要将频繁访问、更新的数据存入到缓存。Halo 项目也引入了缓存机制,且设置了多种实现方式,如自定义缓存、Redis、LevelDB 等,下面我们分析一下缓存机制的实现过程。
自定义缓存1. 缓存的配置
由于数据在缓存中以键值对的形式存在,且不同类型的缓存系统定义的存储和读取等操作都大同小异,所以本文仅介绍项目中默认的自定义缓存。自定义缓存指的是作者自己编写的缓存,以 ConcurrentHashMap 作为容器,数据存储在服务器的内存中。在介绍自定义缓存之前,我们先看一下 Halo 缓存的体系图:
本人使用的 Halo 1.4.13 版本中并未设置 Redis 缓存,上图来自 1.5.2 版本。
可以看到,作者的设计思路是在上层的抽象类和接口中定义通用的操作方法,而具体的缓存容器、数据的存储以及读取方法则是在各个实现类中定义。

