分类:: 数据库

Redis 缓存设计模式实战:Cache Aside、Read/Write Through 与 Write Behind 场景分析

做高并发系统少不了缓存,Redis 和持久化存储(MySQL、MongoDB)怎么配合,选什么策略,这些问题挺让人头疼。记录一下我们项目里用过的四种缓存模式,分析一下各自的数据流和适用场景。 缓存架构基础123456789101112131415161718192021222324252627┌────────────────────────────────────────────────────

MongoDB 备份恢复与自动化运维完全指南:mongodump、mongorestore 与定时任务实战

引言MongoDB 作为最流行的 NoSQL 数据库之一,广泛应用于游戏、电商、物联网等场景。与关系型数据库不同,MongoDB 的备份恢复工具 mongodump 和 mongorestore 提供了灵活的数据导出导入能力。本文将详细介绍 MongoDB 的备份策略、恢复流程,以及如何编写自动化脚本实现定时备份、自动恢复和服务重启的完整运维方案。 MongoDB 备份恢复工具对比 工具 用途

MongoDB批量更新实战:使用随机数生成唯一字段

引言在 MongoDB 数据库维护和数据迁移过程中,经常需要对现有数据进行批量更新。本文将介绍如何使用 MongoDB 的 shell 脚本进行批量数据更新,并以一个实际案例——将 name 字段为 “Guest” 的文档更新为 “Guest” + 4位随机数——来演示完整的操作流程。 需求分析场景描述假设我们有一个用户集合(robots),其中部分用户的 name 字段值为 “Guest”。为了

MongoDB 大数据量索引创建实战:后台模式与进度监控

处理千万级甚至亿级数据的 MongoDB 时,索引创建是个大问题。用错方式可能阻塞整个库,影响线上服务。这篇记录一下大数据量场景下的索引创建策略,包括前台/后台创建、进度监控、踩过的坑。 索引创建方式对比前台创建(Foreground)12// 默认方式:前台创建索引db.collection.createIndex({ field: 1 }) 特点: 阻塞集合上

MySQL时间字段操作指南:时区转换与时间计算

引言在数据库开发中,时间字段的处理是一项常见且重要的工作。特别是面对全球化应用时,时区转换成为必须掌握的技能。本文将详细介绍 MySQL 中时间字段的操作方法,重点讲解时区转换和时间计算函数的应用。 基础概念MySQL 时间类型 类型 格式 范围 用途 DATE ‘YYYY-MM-DD’ ‘1000-01-01’ 到 ‘9999-12-31’ 仅日期 TIME ‘HH:MM:SS’

Redis集群方案详解:主从复制、哨兵模式与Cluster集群

引言Redis 作为高性能的键值存储系统,广泛应用于缓存、消息队列、排行榜等场景。随着业务规模的扩大,单节点 Redis 在性能和可用性上都面临挑战。本文将详细介绍 Redis 的三种集群方案:主从复制、哨兵模式和 Redis Cluster,帮助开发者根据实际需求选择合适的架构。 方案一:主从复制(Replication)架构原理主从复制是最基础的 Redis 高可用方案,通过将主节点的数据同步

Redis 缓存穿透、击穿与雪崩防护完全指南:布隆过滤器、互斥锁与多级缓存实战

引言在高并发系统中,Redis 缓存是提升性能的关键组件。然而,当缓存遇到异常流量或设计缺陷时,可能会出现缓存穿透、缓存击穿和缓存雪崩等问题,导致数据库压力剧增甚至系统崩溃。本文将深入分析这三种缓存问题的成因,并提供布隆过滤器、互斥锁、多级缓存等多种防护方案的实战代码。 缓存问题分类1234567891011121314151617181920┌──────────────────────────

Redis 开发规范与踩坑记录

做后端开发的应该都用过 Redis,但真到了生产环境,各种坑就出来了。键值命名不规范、BigKey 拖垮服务、命令用错导致阻塞…这些问题我都踩过。这篇记录一下我们在实际项目中总结的 Redis 开发规范。 键值设计规范Key 命名设计良好的 Key 命名是 Redis 使用的第一步,直接影响可读性和可维护性。 可读性与可管理性以业务名(或数据库名)为前缀,用冒号分隔,形成层次化的命名空间: 123

Redis开发规范与最佳实践完全指南

引言Redis 作为高性能的内存数据库,在现代应用架构中扮演着重要角色。然而,不当的使用方式可能导致性能问题、内存浪费甚至系统故障。本文基于阿里云 Redis 开发规范,结合实战经验,系统梳理 Redis 键值设计、命令使用、性能优化等方面的最佳实践,帮助开发者构建稳定高效的 Redis 应用。 键值设计规范1. Key 命名规范可读性和可管理性Key 命名应遵循业务名:表名:id 的格式,使用冒

MySQL 索引设计与优化:踩坑记录和排查技巧

索引是 MySQL 性能优化的核心。设计得好的索引能提升几百倍查询速度,设计得不好不仅没用,还会拖慢写入、占磁盘空间。这篇记录一下索引设计的经验,包括常见类型、创建方法、容易踩的坑。 索引基础概念为什么需要索引12345678910111213141516171819202122232425262728293031323334353637383940┌───────────────────────