layering-cache:为监控而生的分布式多级缓存框架

上传者: 42131439 | 上传时间: 2024-04-11 17:21:53 | 文件大小: 1.96MB | 文件类型: ZIP
layering-cache 简介 layering-cache是一个支持分布式环境的多级缓存框架,使用方式和spring-cache类似。使用Caffeine作为一级本地缓存,使用redis作为二级集中式缓存。一级缓存和二级缓存的数据一致性是通过推和拉两种模式相结合的方式来实现的。推主要是基于redis的pub/sub机制,拉主要是基于消息队列和记录消费消息的偏移量来实现的。 支持 支持缓存命中率的监控统计,统计数据上报支持自定义扩展 内置dashboard,支持对缓存的管理和缓存命中率的查看 支持缓存过期时间在注解上直接配置 支持缓存的自动刷新(当缓存命中并发现二级缓存将要过期时,会开启一个异步线程刷新缓存) 缓存Key支持SpEL表达式 Redis支持Kryo、FastJson、Jackson、Jdk和Protostuff序列化,默认使用Protostuff序列化,并支持自定义的序列

文件下载

资源详情

[{"title":"( 171 个子文件 1.96MB ) layering-cache:为监控而生的分布式多级缓存框架","children":[{"title":"mvnw.cmd <span style='color:#111;'> 4.88KB </span>","children":null,"spread":false},{"title":"mvnw.cmd <span style='color:#111;'> 4.88KB </span>","children":null,"spread":false},{"title":"amazeui.min.css <span style='color:#111;'> 249.23KB </span>","children":null,"spread":false},{"title":"admin.css <span style='color:#111;'> 5.17KB </span>","children":null,"spread":false},{"title":"app.css <span style='color:#111;'> 23B </span>","children":null,"spread":false},{"title":"layering-cache.drawio <span style='color:#111;'> 6.17KB </span>","children":null,"spread":false},{"title":"fontawesome-webfont.eot <span style='color:#111;'> 74.72KB </span>","children":null,"spread":false},{"title":"spring.factories <span style='color:#111;'> 1B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 431B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 268B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 268B </span>","children":null,"spread":false},{"title":"index.html <span style='color:#111;'> 17.51KB </span>","children":null,"spread":false},{"title":"cache.html <span style='color:#111;'> 15.51KB </span>","children":null,"spread":false},{"title":"help.html <span style='color:#111;'> 7.14KB </span>","children":null,"spread":false},{"title":"nopermit.html <span style='color:#111;'> 2.58KB </span>","children":null,"spread":false},{"title":"login.html <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false},{"title":"maven-wrapper.jar <span style='color:#111;'> 46.49KB </span>","children":null,"spread":false},{"title":"CacheClusterCoreTest.java <span style='color:#111;'> 31.15KB </span>","children":null,"spread":false},{"title":"CacheCoreTest.java <span style='color:#111;'> 31.02KB </span>","children":null,"spread":false},{"title":"CacheAspectTest.java <span style='color:#111;'> 26.02KB </span>","children":null,"spread":false},{"title":"CacheClusterAspectTest.java <span style='color:#111;'> 20.39KB </span>","children":null,"spread":false},{"title":"TestService.java <span style='color:#111;'> 18.51KB </span>","children":null,"spread":false},{"title":"RedisCache.java <span style='color:#111;'> 15.80KB </span>","children":null,"spread":false},{"title":"ClusterRedisClient.java <span style='color:#111;'> 15.54KB </span>","children":null,"spread":false},{"title":"LayeringAspect.java <span style='color:#111;'> 13.71KB </span>","children":null,"spread":false},{"title":"SingleRedisClient.java <span style='color:#111;'> 11.87KB </span>","children":null,"spread":false},{"title":"LayeringCacheRedisLock.java <span style='color:#111;'> 10.11KB </span>","children":null,"spread":false},{"title":"StatsService.java <span style='color:#111;'> 9.94KB </span>","children":null,"spread":false},{"title":"PersonServiceImpl.java <span style='color:#111;'> 8.51KB </span>","children":null,"spread":false},{"title":"LayeringCache.java <span style='color:#111;'> 6.94KB </span>","children":null,"spread":false},{"title":"RedisClient.java <span style='color:#111;'> 6.91KB </span>","children":null,"spread":false},{"title":"AbstractCacheManager.java <span style='color:#111;'> 6.76KB </span>","children":null,"spread":false},{"title":"CaffeineCache.java <span style='color:#111;'> 6.18KB </span>","children":null,"spread":false},{"title":"RedisMessageService.java <span style='color:#111;'> 6.12KB </span>","children":null,"spread":false},{"title":"StringUtils.java <span style='color:#111;'> 5.24KB </span>","children":null,"spread":false},{"title":"CacheOperationExpressionEvaluator.java <span style='color:#111;'> 5.21KB </span>","children":null,"spread":false},{"title":"CacheStatsInfo.java <span style='color:#111;'> 5.08KB </span>","children":null,"spread":false},{"title":"AbstractValueAdaptingCache.java <span style='color:#111;'> 4.42KB </span>","children":null,"spread":false},{"title":"CacheController.java <span style='color:#111;'> 4.24KB </span>","children":null,"spread":false},{"title":"NestedRuntimeException.java <span style='color:#111;'> 4.04KB </span>","children":null,"spread":false},{"title":"LayeringCacheAutoConfig.java <span style='color:#111;'> 3.94KB </span>","children":null,"spread":false},{"title":"OkHttpClientUtil.java <span style='color:#111;'> 3.78KB </span>","children":null,"spread":false},{"title":"OkHttpClientUtil.java <span style='color:#111;'> 3.78KB </span>","children":null,"spread":false},{"title":"SecondaryCacheSetting.java <span style='color:#111;'> 3.16KB </span>","children":null,"spread":false},{"title":"WebStatsService.java <span style='color:#111;'> 3.12KB </span>","children":null,"spread":false},{"title":"RedisController.java <span style='color:#111;'> 3.11KB </span>","children":null,"spread":false},{"title":"User.java <span style='color:#111;'> 3.11KB </span>","children":null,"spread":false},{"title":"User.java <span style='color:#111;'> 3.10KB </span>","children":null,"spread":false},{"title":"CacheService.java <span style='color:#111;'> 3.05KB </span>","children":null,"spread":false},{"title":"Cacheable.java <span style='color:#111;'> 3.02KB </span>","children":null,"spread":false},{"title":"Cache.java <span style='color:#111;'> 3.02KB </span>","children":null,"spread":false},{"title":"CachePut.java <span style='color:#111;'> 2.97KB </span>","children":null,"spread":false},{"title":"LayeringCacheSetting.java <span style='color:#111;'> 2.86KB </span>","children":null,"spread":false},{"title":"RedisMessagePullTask.java <span style='color:#111;'> 2.81KB </span>","children":null,"spread":false},{"title":"RedisCacheKey.java <span style='color:#111;'> 2.78KB </span>","children":null,"spread":false},{"title":"CacheEvaluationContext.java <span style='color:#111;'> 2.60KB </span>","children":null,"spread":false},{"title":"ProtostuffRedisSerializer.java <span style='color:#111;'> 2.58KB </span>","children":null,"spread":false},{"title":"CacheStats.java <span style='color:#111;'> 2.53KB </span>","children":null,"spread":false},{"title":"CacheEvict.java <span style='color:#111;'> 2.43KB </span>","children":null,"spread":false},{"title":"RedisConfig.java <span style='color:#111;'> 2.29KB </span>","children":null,"spread":false},{"title":"RedisConfig.java <span style='color:#111;'> 2.29KB </span>","children":null,"spread":false},{"title":"UserService.java <span style='color:#111;'> 2.28KB </span>","children":null,"spread":false},{"title":"FirstCacheSetting.java <span style='color:#111;'> 2.24KB </span>","children":null,"spread":false},{"title":"KryoRedisSerializer.java <span style='color:#111;'> 2.20KB </span>","children":null,"spread":false},{"title":"RedisClusterConfig.java <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"RedisClusterConfig.java <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"MdcThreadPoolTaskExecutor.java <span style='color:#111;'> 2.14KB </span>","children":null,"spread":false},{"title":"AwaitThreadContainer.java <span style='color:#111;'> 2.06KB </span>","children":null,"spread":false},{"title":"JdkRedisSerializer.java <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"SimpleKey.java <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"SimpleKeyGenerator.java <span style='color:#111;'> 1.99KB </span>","children":null,"spread":false},{"title":"RedisMessageListener.java <span style='color:#111;'> 1.90KB </span>","children":null,"spread":false},{"title":"JacksonRedisSerializer.java <span style='color:#111;'> 1.89KB </span>","children":null,"spread":false},{"title":"MainTest.java <span style='color:#111;'> 1.87KB </span>","children":null,"spread":false},{"title":"Result.java <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false},{"title":"CacheControllerTest.java <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false},{"title":"CacheExpressionRootObject.java <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false},{"title":"FastJsonRedisSerializer.java <span style='color:#111;'> 1.67KB </span>","children":null,"spread":false},{"title":"RedisPublisher.java <span style='color:#111;'> 1.64KB </span>","children":null,"spread":false},{"title":"PersonServiceTest.java <span style='color:#111;'> 1.61KB </span>","children":null,"spread":false},{"title":"LoginInterceptor.java <span style='color:#111;'> 1.58KB </span>","children":null,"spread":false},{"title":"RedisPubSubThreadTaskUtils.java <span style='color:#111;'> 1.58KB </span>","children":null,"spread":false},{"title":"SecondaryCache.java <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false},{"title":"ThreadTaskUtils.java <span style='color:#111;'> 1.48KB </span>","children":null,"spread":false},{"title":"SerializationException.java <span style='color:#111;'> 1.31KB </span>","children":null,"spread":false},{"title":"LayeringCacheManager.java <span style='color:#111;'> 1.26KB </span>","children":null,"spread":false},{"title":"Person.java <span style='color:#111;'> 1.25KB </span>","children":null,"spread":false},{"title":"NamedThreadFactory.java <span style='color:#111;'> 1.24KB </span>","children":null,"spread":false},{"title":"KeyGenerator.java <span style='color:#111;'> 1.22KB </span>","children":null,"spread":false},{"title":"UserController.java <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false},{"title":"VariableNotAvailableException.java <span style='color:#111;'> 1.19KB </span>","children":null,"spread":false},{"title":"WebMvcConfig.java <span style='color:#111;'> 1.16KB </span>","children":null,"spread":false},{"title":"StringRedisSerializer.java <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false},{"title":"FirstCache.java <span style='color:#111;'> 1.12KB </span>","children":null,"spread":false},{"title":"CacheClusterConfig.java <span style='color:#111;'> 1.12KB </span>","children":null,"spread":false},{"title":"RedisPubSubMessage.java <span style='color:#111;'> 1.12KB </span>","children":null,"spread":false},{"title":"CacheManager.java <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false},{"title":"CacheConfig.java <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false},{"title":"LayeringCacheRedisProperties.java <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false},{"title":"RedisSerializer.java <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"......","children":null,"spread":false},{"title":"<span style='color:steelblue;'>文件过多,未全部展示</span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明