土话java
文章平均质量分 92
以简单的生活描述来学习java相关开发知识。
牛马爱开会
牛会哞,马会叫,牛马会收到。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL和人大金仓数据库SQL语法差异对比
MySQL与人大金仓(KingbaseES)数据库在SQL语法上存在显著差异,本文从实战迁移角度对比了两者的主要区别。文章提供了具体示例和迁移建议,帮助开发者快速适应人大金仓的PostgreSQL风格语法,避免常见兼容性问题。迁移时应特别注意分页、Upsert等高频操作的语法改写。原创 2026-02-06 10:45:00 · 757 阅读 · 0 评论 -
MySQL和达梦数据库SQL语法差异对比
本文从实战迁移角度对比了MySQL和达梦数据库(DM)的SQL语法差异,建议在迁移时优先采用Oracle风格语法,通过DAO/ORM层封装数据库差异,特别注意数据类型转换和分页实现的调整。原创 2026-02-03 11:15:00 · 856 阅读 · 0 评论 -
Redis 分布式锁过期了,还没处理完怎么办?
本文探讨Redis分布式锁在业务未完成时过期的问题及解决方案。文章首先分析常见故障场景:锁过期导致并发执行引发数据不一致。随后指出错误做法如去掉过期时间或设置过长TTL的弊端,并提出核心解决思路——锁自动续期机制(看门狗)。通过示例代码演示如何实现锁续期:加锁时设置较短过期时间,启动定时任务检查并延长锁持有时间,业务完成后停止续期。最后建议实际项目使用成熟框架如Redisson,并配合幂等性设计作为兜底方案,确保系统健壮性。全文以问题驱动方式,为开发者提供实用解决方案。原创 2026-01-30 11:00:00 · 1049 阅读 · 0 评论 -
synchronized和ReentrantLock的区别
本文详细对比了Java中synchronized和ReentrantLock两种锁机制。主要区别包括:语法写法、锁获取方式、可重入性、公平性、中断响应、条件队列支持、尝试获取机制等。建议优先使用synchronized,在需要高级功能时再选择ReentrantLock。两者都支持可重入,但ReentrantLock提供了更灵活的线程控制和更细粒度的锁管理能力。原创 2026-01-26 10:45:00 · 1312 阅读 · 0 评论 -
MySQL InnoDB 中各种锁的概念和理解(含示例)
本文介绍了MySQL InnoDB中的各类锁机制,包括乐观锁与悲观锁的区别、共享锁(S锁)与排它锁(X锁)的特性,以及行锁和表锁的应用场景。重点讲解了InnoDB在可重复读隔离级别下的三种行锁形态:记录锁、间隙锁和临键锁,通过示例演示了它们如何防止幻读问题。文章采用"概念→行为→示例"的方式,帮助读者理解不同锁的适用场景及组合使用策略,为处理数据库并发问题提供实用指导。原创 2026-01-22 11:00:00 · 798 阅读 · 0 评论 -
MySQL 索引有哪几种类型?索引使用场景和优缺点
MySQL索引类型可从数据结构、逻辑属性和物理组织三个角度划分。数据结构上主要有B+Tree(通用性强,支持等值、范围查询和排序)、Hash(等值查询快但不支持范围)、Fulltext(全文检索)和Spatial(空间数据)索引。逻辑属性包括主键索引(唯一标识)、唯一索引(去重约束)、普通索引(加速查询)、组合索引(多列联合)等。InnoDB物理组织上分为聚簇索引(数据与主键一起存储)和二级索引(需回表查询)。各类索引各有适用场景和优缺点,需根据业务需求合理选择,平衡查询性能与写入维护成本。原创 2026-01-13 11:15:56 · 949 阅读 · 0 评论 -
如何优化慢SQL?索引失效的常见场景有哪些?
摘要:SQL优化方法包括索引优化(使用EXPLAIN分析执行计划、创建覆盖索引)、查询优化(简化逻辑、避免全表扫描)、配置优化(调整缓存参数)和数据结构优化(分区分表)。索引失效常见场景包括:数据类型不匹配、使用函数/表达式、不当查询条件(如OR连接、范围查询后列)、数据倾斜以及表结构变更。通过合理设计索引和优化查询可显著提升数据库性能。原创 2026-01-06 11:58:01 · 822 阅读 · 0 评论 -
MySQL主键类型选型指南:自增、UUID、雪花算法怎么选
MySQL主键选型指南:根据业务场景选择合适的主键类型。自增主键(BIGINT UNSIGNED AUTO_INCREMENT)适合单库单写场景,性能最优;UUID(BINARY(16))适用于分布式环境但索引体积较大;雪花算法等分布式ID兼顾全局唯一与写入性能。核心原则:主键应尽可能短且有序,避免二级索引膨胀和页分裂。单库推荐自增主键,分布式系统建议使用趋势递增的BIGINT或BINARY(16)格式UUID。工程实践中可组合使用内部自增ID和外部随机ID以满足不同需求。原创 2025-12-31 16:25:42 · 941 阅读 · 0 评论 -
Redis-13高可用与扩展
本文介绍了Redis的高可用与扩展方案,主要包括主从复制、哨兵模式和集群分片三种技术。主从复制实现读写分离,哨兵模式提供自动故障切换,集群分片通过槽位分配提升容量和吞吐。文章详细说明了关键概念如RPO/RTO、脑裂、仲裁等,并提供了哨兵和集群的配置示例、部署步骤以及故障演练方案。原创 2025-12-24 11:00:00 · 440 阅读 · 0 评论 -
Redis-12安全与可观测性
本文详细介绍了Redis的安全配置和监控方法。文中提供了ACL用户配置、TLS证书生成、命令禁用等具体操作示例,并给出生产环境配置模板。强调应遵循最小权限原则,定期审计密码和权限,建立完善的监控告警体系。原创 2025-12-19 11:00:00 · 1573 阅读 · 0 评论 -
Redis-11内存管理与性能优化
Redis内存管理与性能优化摘要 🔹 内存上限与淘汰策略 🔹 慢查询监控与采样 🔹 批量与管道优化原创 2025-12-15 11:13:46 · 692 阅读 · 0 评论 -
Redis-10数据持久化与恢复
本文摘要:Redis数据持久化提供RDB快照和AOF日志两种方式。RDB通过定时保存二进制快照实现高效备份。AOF记录所有写操作命令,支持每秒刷盘(everysec)平衡性能与可靠性,可配置自动重写压缩日志。混合持久化结合两者优势,使用RDB作为AOF前导提升恢复速度。关键注意事项包括:根据业务场景选择持久化策略,定期验证备份文件可恢复性,重要数据需设置多级备份。恢复流程应包含停写、备份、替换文件等标准步骤,并通过演练确保可靠性。原创 2025-12-12 11:00:00 · 1881 阅读 · 0 评论 -
Redis-09客户端与框架整合
Spring Data Redis与Redisson整合指南,核心要点:1.配置RedisTemplate统一使用字符串键和JSON值序列化。2.通过注解@Cacheable/@CacheEvict实现声明式缓存。3.集成RedissonClient支持分布式锁等高级功能。4.优化连接池参数和超时设置保证生产环境稳定性。原创 2025-12-09 11:22:57 · 630 阅读 · 0 评论 -
Redis-08 HyperLogLog原理与使用
HyperLogLog是一种基于概率的近似去重计数结构,适用于UV统计等场景。它通过极小内存(约12KB/键)实现基数估算,典型命令包括PFADD(添加)、PFCOUNT(估算)和PFMERGE(合并)。适用于网站UV统计、广告曝光估算等场景,误差约0.81%。在Spring中可通过RedisTemplate操作,支持日统计和月合并。注意HLL无法枚举成员,结果仅为近似值,不适用于精确结算。其原理基于哈希映射和寄存器数组,通过数学公式估算基数,合并时寄存器按位取最大值。原创 2025-11-28 09:45:00 · 835 阅读 · 0 评论 -
Redis-07典型业务场景
本文介绍了Redis在典型业务场景中的应用方案,涵盖验证码登录、点赞系统、排行榜、签到统计等常见功能。通过具体代码示例展示了如何利用Redis的数据结构和特性高效实现业务需求。文中还强调了键命名规范、TTL管理和幂等性处理等注意事项,提供了从技术实现到业务场景的完整解决方案。原创 2025-11-27 15:00:00 · 628 阅读 · 1 评论 -
Redis-05原子性与并发控制
Redis原子操作与并发控制技术包括:1)事务(MULTI/EXEC)用于批量命令原子执行,配合WATCH实现乐观锁;2)Lua脚本将多步操作合并为原子步骤,解决库存扣减等并发问题;3)Pipeline批量写入提升吞吐但不保证原子性;4)分布式锁(Redisson)实现跨进程互斥访问,支持自动续期;5)限流算法控制接口访问频率。典型应用场景包括秒杀防超卖、资金转账、接口防刷等。需注意事务隔离性、Lua脚本复杂度控制、分布式锁安全释放等事项,根据业务需求选择合适方案平衡性能与一致性。原创 2025-11-25 09:45:00 · 796 阅读 · 0 评论 -
Redis-04缓存模式与一致性
本文介绍了缓存模式与一致性管理的关键技术。主要内容包括:旁路缓存的读写流程,缓存穿透、击穿、雪崩的解决方案,以及Spring注解缓存与Redisson的实现。文中提供了Java代码示例,并强调缓存键命名规范、版本控制及异常处理的重要性。原创 2025-11-24 10:50:15 · 613 阅读 · 0 评论 -
Redis-03键管理与过期
Redis提供完善的键生命周期管理功能,包括TTL设置、安全扫描和事件通知。原创 2025-11-23 15:42:16 · 916 阅读 · 0 评论 -
Redis-02核心数据结构
本文介绍了Redis核心数据结构,详细解释了各种结构的使用场景和操作示例。原创 2025-11-22 10:47:38 · 595 阅读 · 0 评论 -
Redis-01入门基础
本文介绍了Redis的入门基础知识和常用操作。主要内容包括:Redis的基本概念与定位、安装配置方法、SpringData Redis和Redisson的接入方式、键值读写操作与过期控制等核心功能。展示如何使用RedisTemplate进行基本读写操作,以及如何配置Redisson客户端。同时强调了键命名规范、TTL设置和序列化配置等最佳实践,并列举了验证码缓存、会话管理和页面计数器等典型应用场景。给出了Maven依赖配置和SpringBoot的Redis连接配置示例,帮助开发者快速搭建Redis开发环境。原创 2025-11-21 17:43:44 · 467 阅读 · 0 评论
分享