c语言常用日志框架,新项目技术栈落地(三)——日志和缓存框架的选择

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

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

format,png

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

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

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

最关键的是按照使用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。

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值