Redis从一个不为人熟知、只有少量应用的崭新数据库,逐渐变成了内存数据库领域的事实标准。时至今日,经过大量的实践应用,Redis简洁高效、安全稳定的特性已经深入人心。

无论是国内还是国外,从五百强公司到小型初创公司都在使用Redis,很多云服务提供商还以Redis为基础构建了相应的缓存服务、消息队列服务以及内存存储服务,当你使用这些服务时,实际上就是在使用Redis。

Redis是一个主要由Salvatore Sanfilippo(Antirez)开发的开源内存数据结构存储器,经常用作数据库、缓存以及消息代理等。

Redis因其丰富的数据结构、极快的速度、齐全的功能而为人所知,它是目前内存数据库方面的事实标准,在互联网上有非常广泛的应用,微博、Twitter、GitHub、Stack Overf?low、知乎等国内外公司都大量地使用了Redis。

Redis之所以广受开发者欢迎,跟它自身拥有强大的功能以及简洁的设计不无关系。

Redis最重要的特点有以下几种(参见下图):

1. 结构丰富

Redis为用户提供了字符串、散列、列表、集合、有序集合、HyperLogLog、位图、流、地理坐标等一系列丰富的数据结构,每种数据结构都适用于解决特定的问题。

在有需要的时候,用户还可以通过事务、Lua脚本、模块等特性,扩展已有数据结构的功能,甚至从零实现自己专属的数据结构。通过这些数据结构和特性,Redis能够确保用户可以使用适合的工具去解决问题。

2. 功能完备

在上述数据结构的基础上,Redis提供了很多非常实用的附加功能,比如自动过期、流水线、事务、数据持久化等,这些功能能够帮助用户将Redis应用在更多不同的场景中,或者为用户带来便利。

更重要的是,Redis不仅可以单机使用,还可以多机使用:通过Redis自带的复制、Sentinel和集群功能,用户可以将自己的数据库扩展至任意大小。

无论你运营的是一个小型的个人网站,还是一个为上千万消费者服务的热门站点,都可以在Redis中找到你想要的功能,并将其部署到你的服务器中。

3. 速度飞快

Redis是一款内存数据库,它将所有数据存储在内存中。因为计算机访问内存的速度要远远高于访问硬盘的速度,所以与基于硬盘设计的传统数据库相比,Redis在数据的存取速度方面具有天然的优势。

但Redis并没有因此放弃在效率方面的追求,相反,Redis的开发者在实现各项数据结构和特性的时候都经过了大量考量,在底层选用了很多非常高效的数据结构和算法,以此来确保每个操作都可以在尽可能短的时间内完成,并且尽可能地节省内存。

4. 用户友好

“虽然Redis提供了很多很棒的数据结构和特性,但如果它们使用起来非常困难的话,那么这一切就没有意义。”如果你对此有所担心的话,那么现在可以打消你的顾虑了!Redis API遵循的是UNIX“一次只做一件事,并把它做好”的设计哲学。

Redis的API虽然丰富,但它们大部分都非常简短,并且只需接受几个参数就可以完成用户指定的操作。更棒的是,Redis在官方网站(redis.io)上为每个API以及相关特性都提供了详尽的文档,并且客户端本身也可以在线查询这些文档。

当你遇到文档无法解决的问题时,还可以在Redis项目的GitHub页面:

github.com/antirez/redis

Google Group:

groups.google.com/forum/#!forum/redis-db

甚至作者的Twitter上提问:

twitter.com/antirez

5. 支持广泛

正如之前所说,Redis已经在互联网公司得到广泛应用,许多开发者为不同的编程语言开发了相应的客户端(redis.io/clients),大多数编程语言的使用者都可以轻而易举地找到所需的客户端,然后直接开始使用Redis。

此外,包括亚马逊、谷歌、RedisLabs、阿里云和腾讯云在内的多个云服务提供商都提供了基于Redis或兼容Redis的服务,如果你不打算自己搭建Redis服务器,那么上述提供商可能是不错的选择。

Redis这么好,要不要现在就学起来?我们这就给你推荐4本书:

01 Redis设计与实现

作者:黄健宏

推荐语:资深 Redis 技术专家撰写,深入了解 Redis 技术内幕的必读之作。从源码角度解析 Redis 的架构设计、实现原理和工作机制,为高效使用 Redis 提供原理性指导。

02 Redis使用手册

作者:黄健宏

推荐语:《Redis设计与实现》作者黄健宏全新力作,涵盖Redis5.0以上版本,掌握Redis的案头必备参考书。

03 Redis开发与运维

作者:付磊 张益军

推荐语:从开发、运维两个角度总结了Redis实战经验,深入浅出地剖析底层实现,包含大规模集群开发与运维的实际案例、应用技巧。全面覆盖Redis 基本功能及应用,图示丰富,讲解细腻。

04 Redis 5设计与源码分析

作者:陈雷 等

推荐语:多名专家联袂推荐,资深专家联合撰写,深入理解Redis 5设计精髓。系统讲解Redis 5设计、数据结构、底层命令实现,以及持久化、主从复制、集群。

Redis内存数据库必读的4本书相关推荐

  1. 银行系统开发必读的三本书!银行IT开发

    银行系统开发必读的三本书!银行IT开发 1.<银行业务与信息化系统分析>(刘士峰) 2.<银行管理与IT架构>(刘士峰) 3.<银行业务全搞> 注:<银行管理 ...

  2. 了解linux内核必读的5本书

    了解linux内核必读的5本书 1.<Linux内核设计与实现> 简称LKD,从入门开始,介绍了诸如进程管理.系统调用.中断和中断处理程序.内核同步.时间管理.内存管理.地址空间.调试技术 ...

  3. c语言代码大全_从学生到专家,C语言开发必读的8本书

    本号总结了在C语言实际开发中必读的8本书,当然这8本书并不能囊括开发的方方面面,但就作者亲身体验来看,这8本书确实每个C语言开发者都必须要读的书,并且是应该深入精读的书. C程序设计语言 相信大家都学 ...

  4. C/C++程序员必读的十本书(上)

    在Gmail TopLanguage  Group 中看到一篇文章"C/C++程序员必读的十本书(上)",大家的讨论都很激励,大家都觉得这篇文章写得很棒,我想在Group里的朋友都 ...

  5. 研究内核安全必读的10本书

    ​更多内核安全.eBPF分析和实践文章,请关注博客和公众号: CSDN博客:内核功守道 公众号: 内核功守道 背景分析 随着云网边端的急速发展,越来越多的智能设备被人们所使用,平时生活中变得无法离开它 ...

  6. java必读10本书_新技术领先者必读的6本书

    java必读10本书 Making the step towards management is a huge challenge. It's also a great accomplishment. ...

  7. 人生必读的100本书隐私政策

    人生必读的100本书隐私政策 版本日期:2021年12月13日 生效日期:2021年12月14日 提示条款 我们深知个人信息对您的重要性,我们将按照法律法规的规定,采用安全的保护措施,保护您的个人信息 ...

  8. C语言程序员必读的5本书

    C语言程序员必读的5本书 你正计划着通过看书来学习C语言吗?"书籍是人类最忠诚的朋友".海明威一定知道书籍对一个人一生的重要性.书籍是知识的丰富来源.你可以从书中学到各种知识.书籍 ...

  9. 程序员职业生涯规划必读的十本书

    参与文末每日话题讨论,赠送异步新书 你所能犯的最大错误就是相信自己是在为别人工作.这样一来你对工作的安全感已然尽失.职业发展的驱动力一定是来自个体本身.记住:工作是属于公司的,而职业生涯却是属于你自己 ...

  10. C程序员必读的 3 本书

    C程序员必读的 3 本书 原创: Martin 老师  公众号:零基础零障碍学习C语言 勿用质疑,今天来看这篇文章的朋友都是准备学好C语言的朋友,大家想学好C语言的迫切性,就好比Martin老师等着元 ...

最新文章

  1. Mysql高级调优篇——前言简介
  2. 电脑怎么分屏2个显示器_程序员一台电脑装2个显示屏?因为专业
  3. “网络实名制” 你认为有必要吗?
  4. 【Android 插件化】Hook 插件化框架 ( hook 插件化原理 | 插件包管理 )
  5. python 读写utf8文件_Python关于 文件读写的总结
  6. 谈谈怎么做【服务隔离】
  7. canvas手机端绘图解决方案
  8. Web前端技术分享:img标签与background插入图片的区别
  9. XMind助你快速解决问题
  10. 自学python(一)
  11. 有奖投票丨HC2019开发者关注的TOP10问题你最想听哪个?
  12. 云服务器布置_如何选择云服务器 云服务器配置怎么搭配【详解】
  13. 3D顶点转换和法线转换
  14. 马哥Linux培训第二周课程作业
  15. python照片处理生成3d模型_【神器】摄影实时建模,用照片生成3D模型
  16. conda的environment未被激活解决方案
  17. 鼠标右键菜单打开慢的解决方式
  18. 自动控制原理复习——第一章绪论
  19. C++ 技术资料(大视野网络收集)
  20. Python面向对象练习(创建类计算正方形周长与面积)

热门文章

  1. html滑动门+多个,jQuery实现的多滑动门,多选项卡效果代码
  2. 面试真题:经典智力题最详汇总(上)
  3. 全国计算机vfp是什么,计算机二级VFP数据库简介
  4. 提供SCDN基础版本售卖
  5. TrueCrypt中文版怎么用?TrueCrypt使用方法及详细教程介绍
  6. Spring boot设置文件上传大小限制
  7. Android Verified Boot
  8. 荐一个不错的UI设计网站: uimaker
  9. 基于python的学生管理系统的设计开题报告_学生信息管理系统_毕业设计论文_开题报告...
  10. springboot配置C3P0数据库连接池