腾讯云大神亲码Redis深度手册【基础+应用+原理+集群+扩展+源码】六大核心知识,全部一次让你搞懂

软件工程毕业设计选题指南:50个实战项目与核心原则解析 软件工程的核心在于通过系统化的工程方法,将需求转化为稳定、可维护的软件产品。其原理涵盖从需求分析、系统设计到编码实现、测试部署的完整生命周期,强调架构设计、代码质量与团队协作。这一学科的技术价值在于能够高效、可靠地构建复杂系统,解决实际业务问题。在应用场景上,无论是开发高并发的电商系统、智能推荐算法,还是构建微服务架构或物联网平台,都离不开扎实的软件工程实践。本文聚焦于毕业设计这一具体场景,针对软件工程专业学生常见的选题迷茫,提供了涵盖Web全栈、人工智能、物联网等六大方向的50个精选实战题目,并深入剖析了 阅读详情

前言

作为这个时代码代码的秃头人员,对Redis肯定是不陌生的,如果连Redis都没用过,还真不好意思出去面试,指不定被面试官吊打多少次。

毕竟现在互联网公司和一些创业公司都要用到Redis,像亚马逊、谷歌、阿里、腾讯都要使用,可见精通Redis使用真的很有必要。

所以,今天则分享出腾讯云大神亲自码出的“redis深度笔记”,笔记内容没有讲一句废话,全篇看下来都是精华!

PART1:Redis深度笔记开篇

1.Redis可以用来做什么?

由Redis面试想到的

Redis可以做什么?

2.Redis基础数据结构

Redis安装

Redis基础的数据结构

容器型数据结构的通用规则

关于Redis使用的一些思考

PART2:Redis的应用总结

1.分布式锁

分布式锁

超时问题

可重入性

2.延时队列

异步消息队列?

队列空了怎么办?

队列延迟

空闲连接自动断开

锁冲突处理

延时队列的实现

进一步优化

3.位图

基本使用

统计和查找

魔术指令 bitfield

4.HyperLogLog

使用方法

pfadd这个pf是什么意思?

pfmerge适合什么场合用?

注意事项

HyperLogLog实现原理

pf的内存占用为什么是12k?

5.布隆过滤器

布隆过滤器是什么?

Redis中的布隆过滤器

布隆过滤器的基本使用

注意事项

布隆过滤器的原理

空间占用估计

实际元素超出时,误判率会怎样变化?

用不上Redis4.0怎么办?

布隆过滤器的其他应用

6.简单限流

如何使用Redis来实现简单限流策略?

7.漏斗限流

Redis-Cell

一些思考

8.GeoHash

用数据库来算附近的人

GeoHash算法

Redis的Geo指令基本使用

9.Scan

scan基础使用

字典的结构

scan遍历顺序

字典扩容

对比扩容缩容前后的遍历顺序

渐进式rehash

更多的scan指令

大Key扫描

PART3:Redis的原理

1.线程IO模型

非阻塞IO

事件轮询(多路复用)

指令队列

响应队列

定时任务

2.通信协议

RESP(Redis Serialization Protocol)

客户端->服务端

服务端->客户端

3.持久化

快照原理

fork(多进程)

AOF原理

AOF重写

fsync

运维

Redis4.0混合持久化

4.管道

Redis的消息交互

管道压力测试

深入理解管道本质

5.事务

Redis事务的基本使用

原子性

discard(丢弃)

优化

Watch

6.PubSub

消息多播

PubSub

模式订阅

消息结构

PubSub缺点

7.小对象压缩

32bit vs 64bit

小对象压缩存储(ziplist)

内存回收机制

内存分配算法

8.主从同步

CAP原理

最终一致

主从同步

增量同步

快照同步

增加从节点

无盘复制

Wait指令

PART4:Redis集群

1.Sentinel

消息丢失

Sentinel基本使用

2.Codis

Codis分片原理

不同的Codis实例之间槽位关系如何同步?

扩容

自动均衡

Codis的代价

Codis的优点

MGET指令的操作过程

架构变迁

Codis的尴尬

Codis的后台管理

3.Cluster

槽位定位算法

跳转

迁移

容错

网络抖动

可能下线(PFAIL-Possibly Fail)与确定下线(Fail)

Cluster基本使用

槽位迁移感知

集群变更感知

PART5:Redis拓展

1.Stream

消息ID

消息内容

增删改查

独立消费

创建消费组

消费

Stream消息太多怎么办?

消息如果忘记ACK会怎样?

PEL如何避免消息丢失?

Stream的高可用

分区Partition

http://2.Info指令

Redis每秒执行多少次指令?

Redis连接了多少客户端?

Redisn内存占用多大?

复制积压缓存区多大?

3.再谈分布式锁

Redlock算法

Redlock使用场景

4.过期策略

过期的key集合

定时扫描策略

从库的过期策略

5.LRU

LRU算法

近似LRU算法

6.懒惰删除

Redis为什么要懒惰删除(lazy free)?

flush

异步队列

AOF Sync也很慢

更多异步删除点

7.优雅地使用Jedis

重试

8.保护Redis

指令安全

端口安全

Lua脚本安全

SSL代理

9.Redis安全通信

spiped原理

spiped使用入门

PART6:源码

1.探索字符串内部结构

embstr vs raw

扩容策略

2.探索字典内部

dict 内部结构

渐进式rehash

查找过程

hash 函数

hash攻击

扩容条件

缩容条件

set的结构

3.探索压缩列表内部

增加元素

级联更新

IntSet 小整数集合

4.探索快速列表内部

每个ziplist存多少元素?

压缩深度

5.探索跳跃列表内部结构

基本结构

查找过程

随机层数

插入过程

删除过程

更新过程

如果score值都一样呢?

元素排名是怎么算出来的?

6.探索紧凑列表内部

级联更新

取代ziplist

7.探索基数树内部

应用

结构

增删节点

总结

最后,我想说的是,学习并非难事,而贵在坚持,尤其是在我们参与工作之后,要继续坚持学习就更不容易了。但对于程序员来说,学习是立业之根本,如若放弃学习,被市场淘汰是迟早的事情。所以,学习更多新的知识对于自己来说才是一种更大的投资。

四路独立可控供电USB 2.0智能集线器设计 USB集线器是连接外设的基础接口设备,其供电管理能力直接影响系统可靠性与远程运维效率。传统HUB仅提供固定VBUS输出,缺乏端口级电源控制机制,难以实现软复位、故障隔离与功耗优化。本方案基于USB 2.0协议透明转发原理,通过硬件级电子负载开关(如MT9700)与独立MCU(ESP32-C3)协同,构建具备四路独立限流(680mA)、纳秒级通断响应、WiFi/MQTT远程管控能力的智能供电架构。技术价值体现在协议无侵入、控制域与数据域物理隔离、默认安全上电策略等工程实践要点,广泛适用于工业远程调试、实验室设 阅读详情

相关推荐

ensp企业网综合实验(课程设计)

使用MSTP+VRRP技术实现负载均衡以及增加网络的可靠性;出口配置napt;所有用户均为自动获取IP地址;

qq_50829760的博客 1万+

144. 腾讯云Redis数据库

Redis作为一种高性能的内存数据库,具有多种功能特性和广泛的应用场景。通过了解Redis的演进过程、架构设计、数据类型和操作命令,结合腾讯云数据库Redis的实际应用,开发者可以更好地利用Redis来构建高性能、高可用的应用系统。无论是缓存、会话存储、实时消息系统还是排行榜系统,Redis都能提供强大的支持,满足各种复杂业务需求。

YouMing_Li的博客 2727

嵌入式开发必备:aarch64-linux-gnu-gcc交叉编译工具链保姆级安装指南(含常见错误解决)

本文详细介绍了aarch64-linux-gnu-gcc交叉编译工具链的安装与配置方法,涵盖从系统软件源安装到Linaro二进制包部署的全流程。针对嵌入式开发中常见的依赖错误、版本冲突等问题提供实用解决方案,并分享性能优化技巧与项目集成经验,帮助开发者高效完成ARM64设备的跨平台开发。

yoga7的博客 1030

腾讯会议核心存储治理:Redis分库和异地多活

????导读会控为整个会议最为核心的业务,由于海量请求的高性能要求,后台存储全部为 Redis。在业务飞速发展期,各模块边界不够清晰,大家对存储的使用处于失控状态,随着 PCU 的不断上涨,逐步暴露出存储和架构的诸多问题,同时也对系统容灾能力有了更高的要求。会控业务历史包袱重,存储改造伤筋动骨,要做到平滑迁移需要考虑的细节较多。有幸作为 owner 负责(2022.12-2023.08)了会控存储的优化...

QcloudCommunity的博客 1791

Confluence安装Drawio插件

记录confluence安装drawio插件步骤

devotedwife的博客 7379

Matlab2018a崩溃解决的办法No sandbox or build area path

Matlab 2018a (No sandbox or build area path)出现崩溃后需要使用terminal进行如下操作: cd /home/david/MySoft/MATLAB/R2018a/bin/glnxa64 (你的matlab路径) mkdir exclude mv libfreetype* exclude/ 执行后图片如下: 如果你用的Windows系统,请手动按照上面步骤剔除了dll。 Matlab 2018a (No sandbox or build are

David Xiao 1万+

不愧是腾讯大牛珍藏的“redis深度笔记(全彩版)”这细节讲解,神了!

说到 Redis 相信对于我们这些程序员来说太熟悉了,Redis 凭借着自己超高的超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持,很快就在国内的互联网市场占据了一席之地,得到了广大用户的一致好评,随着国内外使用 Redis 的大中小型互联网公司越来越多,可以直接了当的说,现在 Redis 的了解和应用实践是后端中高级程序员必掌握的技能。

stone_tmp的博客 385

不用买机械臂!用Python+ROS仿真实现RGB-D物体抓取全流程(Gazebo/MoveIt教程)

本文详细介绍了如何利用Python和ROS仿真环境(Gazebo/MoveIt)实现RGB-D物体抓取全流程,无需购买昂贵机械臂硬件。从环境搭建、机械臂模型导入、深度视觉系统配置到MoveIt运动规划,提供完整的实战指南,特别适合个人开发者和学生团队进行机械臂抓取算法验证与开发。

weixin_29061041的博客 340

Redis vs Tendis:冷热混合存储版架构揭秘

作者:jingjunli,腾讯 IEG 后台开发工程师Redis 作为高性能缓存被广泛应用到各个业务, 比如游戏的排行榜, 分布式锁等场景。经过在 IEG 的长期运营, 我们也遇到 Red...

腾讯技术工程 1725

飞腾Ubantu22.04.3安装OpenNebula测试

因OpenneBula官方镜像源只有AMD架构的镜像包不存在ARM的镜像包,借此用源码编译进行测试。

坚持就是胜利的博客 1010

iOS远程真机之WebDriverAgent 天坑记

一、WDA安装依赖报错:       这个东西神坑,我搞了一天都没找到解决方案,最后在appium讨论中发现,       解决方案是:       先定位到WebDriverAgent 所在路径$ cd /Users/XXXX/git/WebDriverAgent        然后运行:mkdir -p Resources/WebDriverAgent.bundle sh ./Scripts/b

甫式人生 7316

不愧是腾讯大牛珍藏的“redis深度笔记(全彩版)”这细节讲解,神了

说到 Redis 相信对于我们这些程序员来说太熟悉了,Redis 凭借着自己超高的超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持,很快就在国内的互联网市场占据了一席之地,得到了广大用户的一致好评,随着国内外使用 Redis 的大中小型互联网公司越来越多,可以直接了当的说,现在 Redis 的了解和应用实践是后端中高级程序员必掌握的技能。

Trouvailless的博客 270

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

福利拉满!腾讯云大神亲码Redis深度手册【基础+应用+原理+集群+扩展+源码】六大核心知识,全部一次让你搞懂

前言 作为这个时代码代码的秃头人员,对Redis肯定是不陌生的,如果连Redis都没用过,还真不好意思出去面试,指不定被面试官吊打多少次。 毕竟现在互联网公司和一些创业公司都要用到Redis,像亚马逊、谷歌、阿里、腾讯都要使用,可见精通Redis使用真的很有必要。 所以,今天则分享出腾讯云大神亲自码出的“redis深度笔记”,笔记内容没有讲一句废话,全篇看下来都是精华! 需要Redis深度笔记PDF版的,可以见下图添加上小助手即可获取到了。 PART1:Redis深度笔记开篇 .

m0_50180963的博客 225

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Ai Agent 星球

Ai 的巨大洪流下,该如何成为时代的宠儿

码刀攻城 945

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

CnOpenData 线上招聘网站信息数据

CnOpenData线上招聘网站信息数据库是一个覆盖中国主流招聘平台、时间跨度长、更新频率高的劳动力市场需求侧大数据集合。本数据库汇集了,为学术界和业界提供了一扇实时观察中国劳动力市场动态的窗口。

CnOpenData_wj的博客 2628

腾讯云Redis深度解析:从入门到精通,无废话全干货

Redis(Remote Dictionary Server)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与Memcached类似,为了保证效率,数据都是缓存在内存中。但Redis的数据是存在内存中的,读写速度非常快,每秒可以处理超过10万次读写操作,因此被广泛应用于缓存。此外,Redis支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。

Reische的博客 1075

Redis宣布商用后,Redis国产化替代方案有那些?

Redis作为使用最为广泛的开源缓存中间件,现已成为IT开发中必不可少的核心组件。官方修改协议印证了“开源”不意味着“无偿使用”,相关限制或将对基于开源Redis提供中间件产品的厂商,及提供Redis服务的云厂商产生一定影响。Redis国产化替代方案有那些?

独断万码 2万+

腾讯的Tendis用了这么多牛逼技术,能否干掉Redis?

Redis 作为高性能缓存被广泛应用到各个业务, 比如游戏的排行榜, 分布式锁等场景。经过在 IEG 的长期运营, 我们也遇到 Redis 一些痛点问题, 比如内存占用高, 数据可靠性差, 业务维护缓存和存储的一致性繁琐。由 腾讯互娱 CROS DBA 团队 & 腾讯云数据库团队联合研发的 Tendis 推出了: 缓存版 、 混合存储版 和 存储版 三种不同产品形态, 针对不同的业务需求, 本文主要介绍 混合存储版 的整体架构, 并且详细揭秘内部的原理。 导语 本文首先介绍腾讯 IEG 运营 Redis 遇

m0_63437643的博客 990

腾讯Tendis 号称能干掉 Redis ?你继续吹牛吧 !

你知道的越多,不知道的就越多,业余的像一棵小草!成功路上并不拥挤,因为坚持的人不多。编辑:业余草推荐:https://www.xttblog.com/?p=5249Redis 作为高性能缓...

xmt1139057136的专栏 1054

爽!腾讯大佬巅峰之作Redis成长笔记,真好用感觉以前白学了

相信大家对于Redis第一印象都是“缓存”,它相比Memcache 而言更加易于理解、使用和控制。但Redis作为互联网技术领域使用最为广泛的存储中间件,其实还是有很多其他的应用场景的。当系统的并发量达到一定的量级,流量涨上来了,Redis的其他功能就需要应用起来了。...

m0_57042151的博客 291

GitHub获赞 32.6K!腾讯内网“Redis 深度(全彩版小册)”限时开源

Redis 我们在工作中经常会用到,但是为什么要用、redis 的一些场景和实战问题,90%以上的人都不是很懂。如果你是一位后端工程师,面试时八成会被问到 Redis,特别是大厂,不仅要求能简单使用 Redis,还要深入理解底层原理,具备解决常见问题的能力。现在互联网公司和一些创业公司都要用到 Redis,像亚马逊、谷歌、阿里、腾讯都要使用,可见精通 Redis 使用真的很有必要。所以,今天则分享出腾讯大神亲自码出的“redis 深度笔记”,笔记内容没有讲一句废话,全篇看下来都是精华!

stone_tmp的博客 202

腾讯,阿里、百度、美团等大厂都在用的Redis实战,不看你就亏了

不要小看一个redis 任何一家公司的招聘信息都包含一段redis的需求。 不要小看一个redis 你能在互联网搜索到的很多文章都讲错了,面试会有很多坑。 不要小看一个redis 搞懂它是你通向分布式、微服务的第一扇大门。

jcc4261的博客 347

redis集群搭建(非常详细,适合新手)

redis集群搭建 在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程 下载redis压缩包,然后解压压缩文件; 进入到解压缩后的redis文件目录(此时可以看到Makefile文件),编译redis源文件; 把编译好的redis源文件安装到/usr/local/redis目录下,如果/local目录下没有redis目录,会自动新建redis目录; 进入/usr/loca...

橙子君的博客 38万+

腾讯百亿级请求高可用Redis(codis)分布式集群实践

文/腾讯技术团队编辑/Emma本文整理了腾讯技术团队, jackiej、liam等技术专家们的分享,内容包括:使用Redis(codis)的应用场景、遇到的问题及优化方案...

技术领导力 1352

企业级分布式高性能KV存储数据库,腾讯Tendis正式开源

项目简介Tendis是腾讯互娱CROS DBA团队 & 腾讯云数据库团队自主设计和研发的分布式高性能KV存储数据库,兼容Redis核心数据结构与接口,可提供大容量、低成本、强持久...

腾讯开源 2255
上一篇: 终于来了!这份阿里P9纯手写的Java并发核心手册,把我没学会的高扩展、高性能、高可用全部讲清楚了
下一篇: 清华大牛终于把「图解计算机网络、操作系统」学习笔记总结出来了
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值