mysql 数据库设计三大范式

MySQL

设计表的依据,按照范式设计出来的表,不会出现数据的冗余。数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构清晰的;反之则是乱七八糟,不仅会给开发人员制造麻烦,还可能存储了大量冗余数据

辰风沐阳 阅读 1988 2022-05-14

MyISAM 和 InnoDB 的区别

MySQL 面试题

MySQL 的存储引擎其实就是如何存储数据、如何建立索引、如何查询和更新数据等技术的实现方法。事务和外键:MyISAM 强调的是性能,它的执行速度比 InnoDB 更快,但是不支持事务和外键功能;InnoDB 支持事务和外键等高级数据库功能

辰风沐阳 阅读 1951 2022-05-08

Redis 缓存穿透、击穿、雪崩问题

数据库 面试题 Redis

本文系统分析了缓存系统中的三大核心问题:穿透、击穿和雪崩。缓存穿透指请求查询不存在的数据,解决方案包括参数校验、缓存空值和布隆过滤器;缓存击穿是热点 Key 失效导致的高并发冲击,可通过互斥锁或逻辑过期策略解决;缓存雪崩源于大量 Key 同时失效,建议采用随机过期时间、多级缓存和限流降级机制。文章通过对比表格清晰展示了三种问题的区别与应对策略,为构建高可用缓存系统提供了系统性解决方案。

辰风沐阳 阅读 804 2022-03-01

mysql 函数: find_in_set()、instr()

MySQL 数据库

在文章表 article 中有个标签字段 tags,一个文章可以有多个标签, 标签 id: 1 html 2 css 3 javascript, tags 以 1,2,3 的格式存储标签,那么我们可以使用 find_in_set 查找出 tags 中有 1 的标签

辰风沐阳 阅读 2244 2021-12-18

MySQL5.7 中使用 group by 报错 this is incompatible with sql_mode=only_full_group_by

MySQL TP6

这个错误发生在mysql 5.7 版本及以上版本,5.7版本默认的sql_mode配置中包含 `ONLY_FULL_GROUP_BY`,这个配置严格执行了"SQL92标准"。解决方案: 去除 sql_mode 中的 only_full_group_by

辰风沐阳 阅读 2843 2021-08-28

Redis 可视化管理工具

Redis

本记录一些优秀的 Redis 可视化管理工具,提供在 Windows、MacOS 平台的安装包,体积小,完全免费。

辰风沐阳 阅读 3357 2021-04-11

Redis 数据类型之 List 用法详解

Redis

Redis 的 List 类型是一个有序字符串列表,支持双端操作,具有高效插入/删除(O(1)) 特性。常用命令包括 LPUSH/RPUSH (插入)、LPOP/RPOP (移除)、LRANGE (范围查询)等,支持负数索引。LTRIM 可裁剪列表,LREM 能按条件删除元素(支持正/负/零count值分别表示从左/右/全部删除)。典型应用场景包括消息队列、最新列表、任务管理等,能实现栈/队列结构,支持自动创建列表和快速查询长度。

辰风沐阳 阅读 669 2020-11-22

Redis 数据类型之 Hash 用法详解

Redis

Redis 的 Hash 类型适合存储对象型数据,相比 JSON 字符串更节省内存,支持局部更新。其结构为 Key -> {Field -> Value},常用命令包括 hset、hget、hmget等。Hash 类型典型应用场景包括购物车和用户信息存储,通过字段级操作提高效率。底层采用 Ziplist 或 Hashtable 两种编码方式,Ziplist 适用于字段少且值小的场景以节省内存,而 Hashtable 则提供稳定的O(1)读写性能。使用时需注意避免 hgetall 遍历大 Hash,并控制字段数量防止内存激增。

辰风沐阳 阅读 655 2020-11-22

Redis 数据类型之 String 用法详解

Redis

Redis 的 String 类型是其最基础且使用频率最高的数据结构,支持存储文本、数字、二进制数据等,最大容量 512MB。它具有二进制安全、原子操作等特性,底层采用 SDS 实现。常用命令包括 set 设置键值(支持过期时间)、get 获取值,以及批量操作的 mset 和 mget。数值操作如 incr 和 decr 可实现原子性增减。其他实用命令如 strlen 获取长度、setex 设置过期时间、setnx 实现分布式锁等。String 类型广泛用于缓存、计数器和分布式锁等场景。

辰风沐阳 阅读 3006 2020-11-21

Windows 下 PHP 的 Redis 扩展安装

PHP 数据库 Redis

1. 查看当前PHP信息,根据当前 PHP信息下载相应的 redis 扩展 2. 将下载的 redis 放入 php 的安装目录,修改 php 配置文件使其加载 redis 扩展 3. 重启 web 服务器

辰风沐阳 阅读 2965 2020-11-16