缓存

首页 标签 缓存
# 缓存 #
关注
63437内容
零拷贝
实现高效文件传输需减少上下文切换与内存拷贝。传统方式频繁系统调用导致性能低下,而零拷贝技术通过合并读写操作、利用PageCache和SG-DMA,将切换和拷贝次数降至最低。大文件场景则宜用异步IO+直接IO避免缓存污染,提升并发性能。
One Trick Per Day
初始化Map应避免容量设置不当,Guava的`newHashMapWithExpectedSize`或手动计算初始容量。禁止使用`Executors`创建线程池,易因无界队列或过多线程导致OOM,应显式使用`ThreadPoolExecutor`并设有限队列。`Arrays.asList`返回不可变列表,禁止修改操作。遍历Map时优先使用`entrySet`或JDK8的`forEach`提升性能。`SimpleDateFormat`非线程安全,用`ThreadLocal`隔离或改用Java 8新时间API。并发更新记录需加锁,推荐乐观锁(version控制),冲突率低时更高效,重试不少于3次。
1.常见配置
MyBatis配置优先级:方法参数 > resource/url > properties体内。核心属性包括缓存、延迟加载、自增主键等。支持多环境配置,通过environments指定,默认使用default环境。事务管理支持JDBC和MANAGED,与Spring集成时由Spring接管。详细配置参考官方Java API文档。
汇总
MyBatis配置优先级:方法参数 > resource/url > properties内。支持多环境、事务管理(JDBC/MANAGED),XML映射可实现一对一、一对多、多对多关联。分页推荐物理分页(如PageHelper),避免大数据内存溢出。一级缓存默认开启,二级缓存需手动配置。执行器支持SIMPLE、REUSE、BATCH三种模式。
EFC&CTO:缓存引发数据不一致问题排查与深度解析
EFC客户端更新缓存架构后,CTO测试出现data mismatch。经排查,因分布式缓存版本号回退,导致读取旧NULL数据写入pagecache,脏页回刷时破坏文件系统数据。定位后通过维护递增版本号修复,10轮测试无异常。问题揭示了buffer写、append写等POSIX行为及缓存一致性设计要点。
01丨核心原理:能否画张图解释下 RPC 的通信流程?
本文深入解析RPC(远程过程调用)的核心原理与通信流程,从定义、作用到实现细节,揭示其如何屏蔽网络通信复杂性,实现像调用本地方法一样调用远程服务。通过序列化、协议设计、动态代理等机制,RPC成为分布式系统中不可或缺的“经络”,支撑微服务架构的高效通信,是开发者必须掌握的基础技术。
CP(强制一致性),AP(最终一致)
本文探讨RPC框架中的服务发现机制,对比DNS、ZooKeeper等方案,指出其在超大规模集群下的局限性。重点提出基于消息总线的最终一致性注册中心,通过AP模型替代CP,提升系统性能与稳定性,适用于高并发、大规模服务节点场景。
14 | 优雅启动:如何避免流量打到没有启动完成的节点?
本文介绍RPC服务中的“启动预热”与“延迟暴露”机制。通过启动预热,让新实例逐步增加流量,避免冷启动高负载;通过延迟暴露,确保应用完全启动后再注册服务,实现平滑上线,保障系统稳定性。
|
1天前
| |
来自: 通义灵码
SpringBoot--常用过滤器介绍
Spring Security通过过滤器链实现安全控制,涵盖认证、授权、CSRF防护等。如SecurityContextPersistenceFilter管理上下文,UsernamePasswordAuthenticationFilter处理登录,LogoutFilter处理退出。不同配置下过滤器数量和类型可变,灵活适配需求。(238字)
|
2天前
|
分布式缓存Redis(高级)
本文深入探讨Redis在分布式系统中的核心应用,涵盖持久化机制(RDB与AOF)、主从复制、哨兵模式及分片集群搭建。重点解析数据安全、高可用架构与性能优化方案,助力实现Redis在生产环境中的稳定落地与高效运维。
免费试用