为了账号安全,请及时绑定邮箱和手机立即绑定

大神云集——Redis命令实现源码分析

2019.01.30 15:21 2492浏览

在快速发展的移动互联网环境下,业界都会使用一些缓存技术来提升性能,其中Redis便是一个很好的开源的缓存方案。

https://img3.mukewang.com/5c514f8b00016f0305160287.jpg

redis的作用及优势

Redis是一款非常优秀的NO SQL的数据库,既可以用作缓存,又可以落地以防内存数据的丢失。所以很多互联网企业都大量使用Redis做为缓存和数据库。

因此在很多开发场景中,开发者需要熟练使用Redis相关的命令,无论是用Java还是PHP做为客户端,都需要了解Redis的使用。那么开发者只掌握了Redis命令的使用是不是就足够了呢,答案是否定的。

  • 一些业务场景,比如对地理位置相关的信息进行计算,那么使用Redis中GEO相关的命令可以带来事半功倍的效果,那么需要开发者详细了解Redis命令的底层实现,这是其一;

  • 第二点是掌握Redis命令原理后,会对命令背后的实现更加了如指掌,那么在一些技术选型的时候,比如记录用户属性,可以使用bit相关的操作,避免自我重复造轮子;

  • 第三点,读者掌握了Redis命令执行的生命周期,那么会了解哪些命令是阻塞的,阻塞的原因是什么,什么场景下才可用,什么场景要避免,以提升性能。

相信每个开发者都有一颗深入学习的心,都不会止于会使用某个开源软件,更希望了解和掌握其原理,提升自己的技术高度。



Redis命令实现源码分析


专栏内容规划

本专栏分析了Redis中基础的数据结构,继而分析了基于这些数据结构的Redis命令的实现。

在专栏中,读者可以详细学习Redis的命令,以及其命令实现的基本原理,方便读者快速掌握Redis的命令,避免在使用过程中踩一些坑。掌握了基本原理后,在工作和学习中能更好的做技术选型,利用Redis更简单高效的实现业务需求,避免重复造轮子,提升研发效率。

专栏分上下两篇

上篇:包含第2-7节,主要讲解了Redis源码中基本的数据结构,包括简单动态字符串(SDS),跳跃表(SkipList),压缩列表(ZipList),字典(Dict),整数集(IntSet)以及快速列表(QuickList),这些基本数据结构是Redis底层的基础,Redis的相关功能和命令都是基于这些数据结构实现的。入门级读者可以精读这部分内容,掌握Redis基本数据结构的同时,顺便温习和提升自己对数据结构的掌握。

下篇:包含8-16节,其中第8节详细讲解了Redis命令执行的生命周期,从客户端到服务端,服务端解析命令,执行,返回客户端的整体过程,这是Redis命令原理的核心,需要重点理解;第9-16章,分别从键命令(Key),字符串命令(String),哈希表命令(Hash),列表命令(List),集合命令(Set),有序集合命令(Sorted Set),地理位置命令(GEO)和日志命令(HyperLogLog)详细讲解了Redis中常用命令的实现,对于经常使用Redis的读者是进阶和拔高的内容,需要了解和掌握。

你能学到什么

1、读者可以熟练掌握Redis的常用命令,理解和掌握底层的基本原理;

2、在工作和学习中能更熟练的使用Redis,并更好的做技术选型;

3、初阶读者可以掌握基本的数据结构,以应对面试中问到相关的数据结构知识;

4、不太熟悉C语言的读者可以根据本专栏的介绍精读一遍Redis的核心代码,掌握C语言。

适合人群

本专栏适合有一定C语言基础的读者/使用Redis的开发者/对Redis底层实现感兴趣的开发者/对NO SQL感兴趣的人/想研究开源软件源码却不知如何开始的人学习,需要一定C基础,使用过Redis。

作者介绍

【陈雷】清华大学计算机系本科硕士,北邮工程管理硕士,高级专家工程师,畅销IT图书作者,著《PHP 7底层设计与源码实现》书籍,同时也是慕课网热门讲师,在慕课网推出实战课程《全方位深度剖析 PHP 7底层源码》。12年工作经验的后端架构师,主要从事Web和移动互联网领域的底层开发,先后在百度、腾讯和滴滴等公司工作。对于后端相关开源软件的深刻理解,无论对于学习者还是已经工作的开发者都是非常有帮助的。

【方波】资深工程师,6年互联网产品研发经验,先后就职于360、百度、滴滴,设计并开发360Qbus消息系统、Nginx接入层、电商网站架构等分布式高并发系统。喜欢研究优秀开源项目代码和架构并学以致用。

【黄桃】滴滴资深工程师,畅销IT图书作者,参著《PHP 7底层设计与源码实现》书籍,6年工作经验,主要从事互联网服务端研发与架构工作,熟悉PHP、Nginx、Redis等源码实现,对自身成长不设限,希望可以和学习者一起学习成长。

【李乐】硕士毕业于西安电子科技大学,目前就职于滴滴,乐于钻研技术与源码研究,对Redis和nginx都有较深理解。

【施洪宝】东南大学控制科学与工程专业硕士, 曾发表EI论文2篇,现任滴滴后端研发工程师。熟悉C/C++开发, 对高并发、分布式有浓厚兴趣,对Redis、Nginx等开源软件也有较深的理解。

【熊浩含】硕士毕业于国际关系学院,目前就职于滴滴,PHP开发者,乐于钻研技术难点,喜欢折腾。对Redis等开源软件有较深的学习和研究。在学习思路上有很好的方法论,希望能给学习者带来一些启发。

【闫昌】滴滴高级软件开发工程师,曾工作于信息安全领域多年,支持过央视网、人民日报等部门网络安全项目。对Linux下服务端开发有比较深的见解,擅长高并发业务的实现,对源码研究有比较浓厚的兴趣。

【张仕华】滴滴资深软件开发工程师,毕业于北京科技大学,8年互联网从业经验。做过自动化运维项目技术管理,也曾于360从事企业级安全产品开发。热衷源码研究,熟悉Redis,Nginx等常用开源软件源码。

【周生政】 后端高级工程师,7年LNMP技术栈开发经验,4年电商经验,曾在北京环球购物电商担任后端技术负责人,经历过app从0到1的过程,掌握电商系统每个细节,目前在滴滴从事增长相关后端研发。热衷于Linux平台的效率工具, 熟练掌握bash, docker等自动化工具。对开源系统有强烈的好奇心,现在主要研究LNMP的相关源码,并有一定的心得,希望能给学习者带来帮助。



限时双重优惠:即日起至2月24日

订阅专栏可享优惠价:29.9(原价:¥39.9)

订阅方式:

 扫下方海报二维码

(PS:购买后请生成自己的海报,分享好友订阅后即可返现8.97元)

https://img2.mukewang.com/5c5150190001688215002668.jpg

戳下方链接也可订阅

订阅链接

更多请点击

更多专栏




点击查看更多内容

本文原创发布于慕课网 ,转载请注明出处,谢谢合作

8人点赞

若觉得本文不错,就分享一下吧!

评论

相关文章推荐

正在加载中
意见反馈 去赚学费 帮助中心 APP下载
官方微信

举报

0/150
提交
取消