数据库

标签:数据库

Redis

RedisTemplate常用方法总结

本文总结了RedisTemplate的常用方法,旨在帮助开发者将其封装为业务工具类(如RedisUtil)。内容涵盖了Redis五种主要数据类型(String、Hash、List、Set、zSet)的核心操作,包括键值存取、删除、过期设置及各类数据结构的特定API,为日常开发中的缓存操作提供了实用参考。

Cache

小白也能看懂的缓存雪崩、穿透、击穿

缓存雪崩是大面积key同时失效,可通过加随机过期时间分散;缓存击穿是热点key突然失效,应加强代码审查与权限管理;缓存穿透是查询不存在数据,需做参数校验并用布隆过滤器拦截。同时需保证Redis高可用,并结合业务设计降级方案。

ThreadLocal

面试官:谈谈你对ThreadLocal的理解?

ThreadLocal是Java中提供线程局部变量的工具,可实现线程间的数据隔离。每个Thread内维护一个ThreadLocalMap,以ThreadLocal为键、局部变量为值。使用时需及时调用remove方法,避免因Entry键弱引用回收而值未回收导致的内存泄漏。适用于线程内数据传递与事务管理场景。

Index

导致MySQL索引失效的几种常见写法

本文总结了MySQL索引失效的常见情况:单个索引中,使用!=、类型不一致、函数、运算符、OR连接不同字段、模糊前缀%、NOT IN/EXISTS、IS NULL会导致失效;复合索引遵循最左匹配原则,最左字段使用!=会致整个失效。建议合理建索引,保持字段类型一致,避免NULL值。

Transaction

让人头痛的大事务问题到底要如何解决?

处理系统大事务问题的方法包括:少用@Transactional注解,改用编程式事务;将查询操作移出事务;避免事务中远程调用;分页处理大量数据;识别非事务操作;使用异步处理。这些方法能有效减少事务粒度,提升性能。

没有搜索结果

发现新版本

网站已经更新,刷新页面后即可使用最新内容。