当前位置: 首页 > 软件库 > 程序开发 > 缓存系统 >

layering-cache

为监控而生的多级缓存框架
授权协议 Apache 2
开发语言 Java
所属分类 程序开发、 缓存系统
软件类型 开源软件
地区 国产
投 递 者 杜经艺
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

layering-cache是一个支持分布式环境的多级缓存框架,使用方式和spring-cache类似。一级缓存使用Caffeine作为本地缓存,二级缓存使用redis作为集中式缓存。一级缓存和二级缓存的数据一致性是通过推和拉两种模式相结合的方式来实现的。推主要是基于redis的pub/sub机制,拉主要是基于消息队列和记录消费消息的偏移量来实现的。

支持

  • 支持缓存命中率的监控统计,统计数据上报支持自定义扩展
  • 内置dashboard,支持对缓存的管理和缓存命中率的查看
  • 支持缓存过期时间在注解上直接配置
  • 支持缓存的自动刷新(当缓存命中并发现二级缓存将要过期时,会开启一个异步线程刷新缓存)
  • 缓存Key支持SpEL表达式
  • Redis支持Kryo、FastJson、Jackson、Jdk和Protostuff序列化,默认使用Protostuff序列化,并支持自定义的序列化
  • 支持同一个缓存名称设置不同的过期时间
  • 支持禁用一级缓存,只使用二级缓存
  • 通过允许存空值来解决缓存穿透问题

优势

  1. 提供缓存命中率的监控统计,统计数据上报支持自定义扩展
  2. 支持本地缓存和集中式两级缓存
  3. 接入成本和使用成本都非常低
  4. 支持Spring、Spring boot
  5. 内置dashboard使得缓存具备可运维性

文档

中文文档

  • layering-cache layering-cache是一个支持分布式环境的多级缓存框架,使用方式和spring-cache类似,主要目的是在使用注解的时候支持配置过期时间。 layering-cache其实是一个两级缓存,一级缓存使用Caffeine作为本地缓存,二级缓存使用redis作为集中式缓存。并且基于redis的Pub/Sub做缓存的删除,所以它是一个适用于分布式环境下的一个缓存系统

  • 一、背景 最近在项目中有使用layering-cache(https://gitee.com/xiaolyuh/layering-cache?_from=gitee_search)进行多级缓存,有开发人员说想在缓存的时候增加一定时间的随机浮动,已到达防止缓存雪崩的目的,由于layering-cache是开源的,想增加此功能也十分简单,在此记录一下。 缓存雪崩是指缓存中数据大批量到过期时间,而查询数

 相关资料
  • swoole框架目前支持5种Cache适配器,可以配置apps/configs/cache.php的type来设定不同类型的Cache Memcache 使用memcache缓存数据,配置示例: $cache['master'] = array( 'type' => 'Memcache', 'use_memcached' => true, //使用memcached扩展 '

  • Hibernate 的 Session 在事务级别进行持久化数据的缓存操作。 当然,也有可能分别为每个类(或集合),配置集群、或 JVM 级别(SessionFactory 级别)的缓存。你甚至可以为之插入一个集群的缓存。注意,缓存永远不知道其他应用程序对持久化仓库(数据库)可能进行的修改 (即使可以将缓存数据设定为定期失效)。 通过在 hibernate.cache.provider_class

  • 1、使用 Ehcache 缓存 ActiveRecord 可以使用缓存以大大提高性能,默认的缓存实现是 ehcache,使用时需要引入 ehcache 的 jar 包及其配置文件,以下代码是Cache使用示例: public void list() { List<Blog> blogList = Blog.dao.findByCache("cacheName", "key", "selec

  • 本文向大家介绍详解Java的Hibernate框架中的缓存与二级缓存,包括了详解Java的Hibernate框架中的缓存与二级缓存的使用技巧和注意事项,需要的朋友参考一下 缓存 今天我们就来讲一下hibernate中实体状态和hibernate缓存。  1)首先我们先来看一下实体状态:  实体状态主要分三种:transient,persitent,detached。  看英文应该就大概明白了吧。

  • You can do more elaborate grouping by setting up cache_id groups. This is accomplished by separating each sub-group with a vertical bar "|" in the cache_id value. You can have as many sub-groups as yo

  • 在本章中,我们将研究Joomla Cache Manager 。 您可以安装缓存控制器插件,这有助于提高Joomla的性能。 您还可以关闭特定页面和组件上的缓存。 Joomla缓存管理 以下是用于设置Joomla缓存管理器的简单步骤 - Step (1) - 单击Joomla Global Configuration Cache Management 。 您将看到如下所示的屏幕。 以下是Jooml