摘要: 有哪些影响Redis性能的因素 Redis 内部的阻塞式操作。 CPU 核和 NUMA 架构的影响。 Redis 关键系统配置。 Redis 内存碎片。 Redis 缓冲区。 1. 客户端的阻塞 Redis 使用了 IO 多路复用机制,能避免主线程一直处于等待状态,所以网络 IO不是导致 Redis 阅读全文
posted @ 2022-12-20 17:06 songguojun 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 什么是TCP/IP? TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。并不只有TCP与IP两种协议,而是一个应用于不同网络间信息传输的协议簇,它对网络中各结构层 阅读全文
posted @ 2022-12-20 16:39 songguojun 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 背景 我们在项目中大量使用Redis承接海量数据的冲击,但是使用过程中也会遇到一些特殊的情况,这个就是缓存击穿、缓存穿透、缓存雪崩。 缓存穿透问题 先来看一个常见的缓存使用方式:读请求来了,先查下缓存,缓存有值命中,就直接返回;缓存没命中,就去查数据库,然后把数据库的值更新到缓存,再返回。 缓存穿透 阅读全文
posted @ 2022-12-20 16:26 songguojun 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 利用了 PageCache 缓存 磁盘顺序写 零拷贝技术 pull 拉模式 阅读全文
posted @ 2022-12-20 15:32 songguojun 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 前言 Sql语句优化是Mysql性能优化的一部分,我们看下常见Sql语句优化及注意的有哪些。 一、查询SQL尽量不要使用select *,而是具体字段 1. 反例 SELECT * FROM user; 2. 正例 SELECT id,name,tel FROM user 说明: 只返回需要的字段, 阅读全文
posted @ 2022-12-20 14:42 songguojun 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1. 背景 Redis现在广泛应用于大中型互联网项目中,最重要的场景就是作为分布式缓存,来应对大流量高并发的冲击,那么为什么Redis有如此高的性能,这篇文章就来分析一下Redis高性能实现原理。 2. Redis高性能能分析 2.1 存储模式:基于内存存储实现 我们都知道内存读写是比在磁盘快很多的 阅读全文
posted @ 2022-12-20 13:59 songguojun 阅读(196) 评论(0) 推荐(0) 编辑
摘要: Map底层实现原理 Go Map是一种key-value的键值对存储结构,其中key不能重复。它是一个指针,占用8字节,指向一个hmap结构体。 Map的数据结构源代码在src/runtime/map.go中 我们通过go env 命令先找到go源代码路径 找到对应文件map.go 找到hmap结构 阅读全文
posted @ 2022-12-20 12:05 songguojun 阅读(402) 评论(1) 推荐(0) 编辑