前言

为什么要写这本书

Redis作为一个流行的key-value内存数据库,由于性能高、数据类型丰富、API功能强大、可用性高等特点,已经被越来越多的企业用于生产实践。Redis可以将所有数据都存放在内存中,所以它的读写性能非常惊人;Redis还可以将内存中的数据利用快照和日志的形式保存到硬盘上,保证内存中的数据不会丢失,等等。总之,在合适的场景使用好Redis,它就会像一把瑞士军刀一样方便。

本书基于Redis 6。为帮助读者理解,书中使用了大量的实例,几乎涵盖了Redis的方方面面,从Redis基本数据类型、常用命令等基础知识,再到Redis缓存持久化、集群环境部署和开发实战等高级主题。

学习任何技术都要理论联系实践,所以本书将通过大量的实例向读者系统地讲解Redis的各个知识点。在读者的个人计算机上,只要遵循本书实例的操作步骤,都可以很容易地理解每个实例的知识点,缩短学习Redis的时间和降低学习编程的难度。

希望本书能让读者更好地理解Redis,并能帮助读者在工作中正确使用Redis的新特性。

本书有何特色

1.涵盖Redis核心知识点

本书基于Redis 6进行讲解,涵盖了Redis的环境搭建、常用数据类型及命令、常用命令、服务器配置、事务、缓存持久化,以及Redis 6的集群环境搭建和编程开发实战等,可以帮助读者全面掌握Redis的知识点。

2.实战实例丰富

本书涵盖了Redis涉及的各个方面,对Redis的日常使用方法进行了全面讲解和技巧提示,使用的实例来源于笔者在企业开发和运维工作中的经验总结。

3.使用Java操作Redis

本书使用Java操作Redis,并使用Spring Boot 2框架与Redis进行集成。书中对环境的搭建和代码操作的步骤都进行了详细的解释。

4.提供完善的技术支持和售后服务

由于笔者水平有限,书中难免存在疏漏和不足之处,敬请读者批评指正。如有任何问题欢迎发送邮件至邮箱:xpws2006@163.com。读者在阅读本书的过程中有任何疑问,都可以通过该邮箱获得帮助,也可以加入本书的QQ群(629588406):Redis高级开发群。

本书内容及知识体系

第1章 初识Redis

本章主要介绍了Redis服务器的安装和基本操作,包括在Windows和Linux下启动和停止Redis、使用redis-cli连接到Redis服务器等。在本章的最后使用VMware安装6个CentOS 7操作系统,搭建了Redis集群环境。

第2章 Redis常用数据类型及命令

本章主要介绍了Redis的常用数据类型和操作数据类型的常用命令,还介绍了Redis HyperLogLog的功能。

第3章 Redis常用命令

本章主要介绍了Redis的常用命令,包括键值相关命令和服务器相关命令。

第4章 Redis高级主题

本章主要介绍了Redis的高级主题,包括Redis服务器配置、Redis事务、Redis发布和订阅、Pipeline批量发送请求、数据备份与恢复、Redis性能测试、Redis客户端连接和Redis服务开机自启动。

第5章 Redis缓存的持久化

本章主要介绍了Redis中的两种持久化方式RDB和AOF,讲解了在Redis中如何启动RDB和AOF来实现持久化,并揭示了持久化的工作原理。此外,本章讨论了RDB和AOF之间的区别,以及如何将这两种持久化方式结合起来使用。

第6章 Redis集群环境部署

本章介绍了Redis集群环境部署,包括主从复制、哨兵模式和Redis集群。其中主要介绍了Redis 6集群配置的详细实验步骤和工作原理。

第7章 Redis开发实战

本章主要介绍了如何使用Java开发Redis程序,讨论了Redis的数据类型和API的使用方法,讲解了使用Redis客户端Jedis应用程序的实例,并使用实例介绍了Redis在生产环境中的使用场景和技巧。

本章在Windows下安装了Java和Tomcat,搭建了Redis的Java开发环境,介绍了使用Java操作Redis;在Linux下安装了Java、Tomcat和Nginx,介绍了在Tomcat上使用Redis保存Session。

第8章 Spring Boot与Redis整合应用

本章介绍了Spring Boot 2框架与Redis的集成,详细介绍了RedisTemplate API的使用方法,并使用实例介绍了在Spring Session中使用Redis的场景和原理。

第9章 Redis监控

本章主要介绍了Redis的性能监控和自定义开发应用程序来监控Redis的性能,其中使用的是WebSocket技术与后台进行消息推送和接收。

第10章 Redis的缓存设计与优化

本章主要介绍了Redis缓存的优点和缺点,以及在生产环境下出现缓存雪崩与缓存穿透的原因和解决方法。本章还介绍了布隆过滤器。

第11章 扩展知识

本书涉及的技术内容比较多,所以把读者需要掌握的内容单独汇聚成一章,包括配置CentOS 7、Maven基础知识、配置IntelliJ IDEA、使用VMware、配置SecureCRT、Chrome的常用技巧。

本章介绍在Windows和Linux下安装Python 3,并使用Redis模块操作Redis 6的单机和集群。

适合阅读本书的读者

·需要全面学习Redis的人员。

·对Redis编程感兴趣的人员。

·希望提高Redis使用水平的程序员。

·开设相关课程的高校师生。

感谢

感谢我的家人一直以来对我的支持和宽容。感谢我的妻子,在家庭方面付出了很多,做出了重要的贡献,让我安心写作。感谢我的两个女儿,你们的微笑是爸爸消除疲惫的良药,爱你们。

本书的顺利出版要感谢人民邮电出版社的所有编校人员,感谢他们在选题策划和稿件整理方面做出的大量工作,再次感谢他们对我的信任和支持。

最后祝福所有读者在职场一帆风顺,事业有成。

本书资源下载

本书的实例使用Git来管理程序代码和版本,为了方便大家获取实例代码,代码均托管在GitHub上,链接地址可在人邮教育社区(www.ryjiaoyu.com)搜索本书找到。如果实例代码在本书出版后还有更新,那么将会更新到相关链接对应的GitHub库上。

读者安装好Git环境后,可以使用git clone https://github.com/cxinping/Redis命令,把本书托管到GitHub上的实例代码下载到本地硬盘上,下载后的实例代码如下所示。

笔者 2021年3月