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