新项目技术栈落地(三)——日志和缓存框架的选择

    分布式项目日志框架和缓存框架都是必要的,下面来说说两者框架的选择。

    先说说日志框架的选择,目前开源的日志框架有很多例如log4j,log4j2,logback,slf4j等,开发项目时建议用slf4j作为日志框架,原因看图:

webp

    本质上slf4j只是一个日志接口,是日志门面接口,它可以支持目前大部分的日志框架,也就是说如果你代码里用的是slf4j做为编码,那么以后你切换日志框架只是换一个maven依赖另一个日志框架,修改一下日志配置文件,而不需要修改代码。

    slf4j提供了基于日志占位符省去了用+号连接字符串的麻烦

    slf4j是编译绑定能提供跟高效率

    最关键的是按照使用slf4j遵循了面向对象思想,使用接口隔离实现。

    参考:

    复杂Spring项目中SLF4J最佳使用姿势

    

    再来说说缓存框架的选择,目前的开源缓存框架有:SpringCache,J2Cache,JetCache,Memcached等,就本人使用过的j2cache和jetcache做对比如下表:

名称组织或个人内存缓存Redis缓存其他特性
JetCache阿里巴巴RedisCache、TairCache(此部分未在github开源)、CaffeineCache(in memory)和一个简易的LinkedHashMapCache(in memory)四种方式实现的内存缓存支持通过统一的API访问Cache系统
通过注解实现声明式的方法缓存,支持TTL和两级缓存
通过注解创建并配置Cache实例
针对所有Cache实例和方法缓存的自动统计
Key的生成策略和Value的序列化策略是可以配置的
分布式缓存自动刷新,分布式锁 (2.2+)
异步Cache API (2.2+,使用Redis的lettuce客户端时)
Spring Boot支持
J2Cache红薯同时支持 Ehcache 2.x、Ehcache 3.x 和 Caffeine支持

支持 JGroups 和 Redis Pub/Sub 两种方式进行缓存事件的通知

Spring Boot支持

    如上表说书,个人倾向于选择jetcache。

参考:

JetCache中文说明

J2Cache官网

转载于:https://my.oschina.net/dolphinboy/blog/3024671

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值