写点什么

redis 底层原理

0 人感兴趣 · 46 次引用

  • 最新
  • 推荐

这份阿里逆天的 Redis 手册,于内卷中首次亮相了

最近去面了腾讯,阿里,字节跳动,发现对redis会重点考察,于是我打算总结redis专项。

https://static001.geekbang.org/infoq/0f/0ff5b33d3b745c474770d722064626b0.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

解密 Elasticsearch:深入探究这款搜索和分析引擎 | 京东云技术团队

最近使用Elasticsearch实现画像系统,实现的dmp的数据中台能力。同时调研了竞品的架构选型。以及重温了redis原理等。特此做一次es的总结和回顾。网上没看到有人用Elasticsearch来完成画像的。我来做第一次尝试。

https://static001.geekbang.org/infoq/fb/fb3df1425d896b443ae7ed904fceb65c.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

微服务 Spring Boot 整合 Redis 分布式锁 实现优惠卷秒杀 一人一单

高并发集群模式下,秒杀出现问题,如何解决,Redis 分布式锁来搞定!

深入理解 Redis 新特性:Stream

Redis stream 是 Redis 5 引入的一种新的数据结构,它是一个高性能、高可靠性的消息队列,主要用于异步消息处理和流式数据处理。在此之前,想要使用 Redis 实现消息队列,通常可以使用例如:列表,有序集合、发布与订阅 3 种数据结构。

https://static001.geekbang.org/infoq/da/da820c89f5a6bf9821a62e15065310b1.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

精华!Redis 知识总结

redis 支持的数据结构更丰富(string,hash,list,set,zset)。memcache 只支持 key-value 的存储;

https://static001.geekbang.org/infoq/d1/d1df01e49381db0df65327fd6e521181.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

非看不可的 Redis 持久化

Redis是许多公司都在使用的一款高性能、非关系型数据库。其中最为重要的一个特性就是它支持持久化。本文将深入介绍Redis持久化原理,包括RDB和AOF两种方式的实现。

https://static001.geekbang.org/infoq/63/63d0360a4424b24f7150835c56cf7c77.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【Redis 源码分析】Server 启动过程

我们通过源码来看看redis的server启动的时候会初始化哪些参数或者对象,以及都做了哪些工作?

https://static001.geekbang.org/infoq/42/429794e04355be9f7804afc9913d75e1.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Redis 中的 BigKey 问题:排查与解决思路

Redis是一款性能强劲的内存数据库,但是在使用过程中,我们可能会遇到Big Key问题,这个问题就是Redis中某个key的value过大,所以Big Key问题本质是Big Value问题,导致Redis的性能下降或者崩溃。本文将向大家介绍如何排查和解决这个问题。

https://static001.geekbang.org/infoq/73/730c6c896eafa6567e0b8136201c6c64.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Redis 内存碎片和 Pipeline 管道

Redis内部有自己的内存分配器,内存分配器按照固定大小分配内存,并不是完全按照程序申请的内存大小来进行分配。由于内存按照固定大小分配且会比实际申请的内存要大一些,这个过程中会产生内存碎片。

https://static001.geekbang.org/infoq/d0/d0bd7ff18d842295d780bd17d8b21742.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Redis 跟 MySQL 的双写问题

严格意义上任何非原子操作都不可能保证一致性,除非用阻塞读写实现强一致性,所以缓存架构我们追求的目标是最终一致性。缓存就是通过牺牲强一致性来提高性能的。

https://static001.geekbang.org/infoq/75/753bf9963000141240adae738e95b943.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

布隆过滤器

假设你现在要给项目添加IP黑名单功能,此时你手上有大约 1亿个恶意IP的数据集,有一个IP发起请求,你如何判断这个IP在不在你的黑名单中?

https://static001.geekbang.org/infoq/87/8797b788300af715343b164a5af6953e.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Redis 类型 (type) 与编码 (encoding)

Redis是一款开源的高性能key-value数据库,广泛应用于各种场景。在Redis中,数据类型(type)和编码(encoding)是非常重要的概念。本篇博客将详细介绍Redis支持的数据类型以及相应的编码方式和底层实现原理。

https://static001.geekbang.org/infoq/c3/c3e8b06adeaa1ea19a16294e609c3276.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Redis 的 String 类型,原来这么占内存

我们知道 Long 类型占 8 字节内存,但存到 Redis 竟然花了 68 字节!Redis 的内存开销都花在哪儿了?

https://static001.geekbang.org/infoq/3f/3f91747e5d6e894ba680bbb35213aaeb.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

redis.conf 7.0 生产配置详解,全网最全

这些配置大家必知必会,需要大家掌握每个配置背后的技术原理,学会融合贯通并在生产中正确配置,解决问题。避免出现技术悬浮,原理说的叭叭叭,配置像个大傻瓜。

深入理解 Redis 数据结构—字典

用户头像
Jeremy Lai
2022-12-01

字典,又称为符号表、关联数组或映射,是一种用于保存键值对的抽象数据结构。在字典中,一个键可以和一个值进行关联,这些关联的键和值称为键值对。键值对中键是唯一的,我们可以根据键key通过映射查找或者更新对应的值value。

https://static001.geekbang.org/infoq/2b/2b43676c000c49009a8b7a4480ce8a16.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

这次彻底读透 Redis

本文详细介绍了 Redis 管道、发布订阅、事务、分布式锁、集群、哨兵、持久化机制

你知道 Redis 有哪些潜在的阻塞点吗

说到redis,大家自然而然的会想到基于内存、单线程执行等。话说回来,Redis真的只有单线程吗?这篇文章来说说Redis的异步机制。

数据量剧增怎么办?Redis 切片集群了解一下

redis如果遇到未预知的剧烈数据量增长,整个实例容量不够时,你会如何应对?可能大家最容易想到的方案就是扩容了。比如当前实例配置是16g内存的,那么就扩容到32g。 但是在扩容后续使用中,有可能会出现响应很慢的问题。这是怎么回事呢?让我们一探究竟。

“程”风破浪的开发者|你真的会用 Redis 做消息队列吗

说到消息队列,大家首先想到的是rabitmq, rocketmq,kafka等。这些消息队列在生产中都很成熟,但它们相对来说比较重量级。 而Redis大家通常用来当缓存使用,不过在某些场景下,redis也可作用消息队列,下面让我们来看看如何用redis做消息队列吧。

Redis 的 string 内存消耗为何如此之大

说到redis的数据类型,常用的有string、list、set等。在我们使用string类型时,如果你注意过,会发现string类型有个明显的缺点:string的数据保存占用的空间较多。接下来就来了解下string为何占用那么多内存吧。

Redis 哨兵机制了解一下

之前介绍了Redis通过主从集群模式来保持数据一致性。当主库故障时,因为我们设置的是只往主库写数据,此时如果有大量写操作的请求,Redis就无法接收到新数据了。这时该怎么做呢?请看这篇文章

你知道 Redis 为什么要设计成单线程吗

说到Redis的特点,很容易想到的就是属于Nosql,速度快。再说到Redis为什么速度快,你头脑中第一闪过的可能就是说Redis基于内存、单线程执行了。但要说到单线程为什么快,不熟悉的人可能说不清楚。今天就来说说单线程的Redis为什么快。

Redis 是如何保证数据一致性的

拿Redis的高可靠性保证来说。我们不能只把数据都放在一台服务器上,需要将数据复制在多台实例上,这样就能在一台服务器故障时,依然有其他的服务器工作,这就是今天要将的Redis主从同步。

你知道 Redis 是如何保持数据一致性吗

说到Redis的高可靠性,我们很容易想到AOF或者RDB快照,它们通过日志文件的方式恢复数据。但是宕机期间,我们的服务就会受到影响。那你知道Redis是如何保持数据一致性的吗

redis 设计成单线程的原因是什么

说到Redis的特点,很容易想到的就是属于Nosql,速度快。再说到Redis为什么速度快,你头脑中第一闪过的可能就是说Redis基于内存、单线程执行了。那你知道为什么要设计成单线程吗?

https://static001.geekbang.org/infoq/bd/bd7ad7ba66842a2b92d338b81e3631f8.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

不要小看一个 Redis!阿里最新开源 Redis 核心原理 + 应用实践,涵盖了 Redis 的所有操作

用户头像
程序员小毕
2022-10-09

Redis,是互联网技术领域使用最为广泛的存储中间件,Redis以其超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持在开源中间件。国内外有很多大型互联网公司都在使用Redis,比如:暴雪娱乐、腾讯、阿里、京东、华为、新浪微博等,很多小型公司也都

https://static001.geekbang.org/infoq/06/06ce7fa7db32d15005a844415fd30911.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

redis 总结万能手册,熟悉不等于精通

用户头像
ike潮
2022-09-26

日常总结:redis线程模型,多路复用原理;单体,哨兵架构,集群架构的自动化安装,解释说明,集群扩容,缩容,选举,主从自动切换策略,应用程序接入……

redis 底层原理_redis 底层原理技术文章_InfoQ写作社区