1. 简介

Redis是一个开源的、高性能的、基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同的场景下的缓存与存储需求。同时Redis的诸多高级功能使其可以胜任消息队列、任务队列等不同的角色。

2. 特性

为什么Redis能吸引如此多的用户?

(1)存储结构

在python中有一种数据结构字典,如代码dict["key"] = "value"中dict是一个字典结构变量,字符串"key"是键名,"value"是键值,在字典中我们可以获取或者设置键名对应的键值,也可以删除一个键。

Redis是Remote Dictionary Server (远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。同大多数脚本语言中的字典一样,Redis字典中的键值除了可以是字符串,还可以是其他数据类型。到目前为止Redis支持的键值数据类型如下:

  • 字符串类型
  • 散列类型
  • 列表类型
  • 集合类型
  • 有序集合类型

这种字典形式的存储结构与常见的Mysql等关系型数据库的二维表形式的存储结构有很大的差异。

(2)内存存储与持久化

Redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘的存储的数据库有非常明显的优势,在一台普通的笔记本电脑上,Redis可以在1s内读写超过10万个键值。

将数据存储在内存中也有问题,比如程序退出后内存中的数据会丢失。不过Redis提供了对持久化的支持,即可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务。

(3)功能丰富

Redis虽然是作为数据库开发的,但由于其提供了丰富的功能,越来越多的人将其用作缓存、队列系统等。

Redis可以为每个键设置生存时间,生存时间内到期后键会自动被删除。

  讨论:Redis与Memcached ?在性能上Redis是单线程模型,而Memcached支持多线程,所以在多核服务器上后者的性能理论上相对更高一些。然而,在绝大多数场合下Redis的性能都不会成为瓶颈,所以在使用时更关心的是二者在功能上的区别。随着Redis 3.0的推出,标志着Memcached几乎所有功能都成为了Redis的子集。因此,在新新项目中使用Redis代替Memcached将会是非常好的选择。

作为缓存系统,Redis还可以限定数据占用的最大内存空间,在数据达到空间限制后可以按照一定的规则自动淘汰不需要的键。

除此之外,Redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易的实现一个高性能的优先级队列。同时在更高层面上,Redis还支持“发布/订阅”的消息模式,可以基于此构建聊天室。

(4)简单稳定

Redis的命令比SQL语言要简单很多。

Redis使用C语言开发,代码量只有3万多行,这降低了用户通过修改Redis源代码来使之更适合自己项目需要的门槛。对于希望“榨干”数据库性能的开发者而言,这无疑是一个很大的吸引力。

参考文献:

Redis入门指南(第二版)

转载于:https://www.cnblogs.com/xuejiale/p/10459863.html

Redis入门指南之一(简介)相关推荐

  1. Redis入门指南 第1章 简介 Redis的几项特性

    Redis入门指南 第1章 简介 Redis的几项特性 之前在做爬虫相关的demo时接触到了Redis,它基于键值对的存储系统吸引了我.它的操作十分方便,而且性能也高.趁着假期,系统地自学一下Redi ...

  2. 《Redis入门指南(第2版)》一第2章 准备

    本节书摘来异步社区<Redis入门指南(第2版)>一书中的第2章,作者: 李子骅 责编: 杨海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2章 准备 R ...

  3. 《Redis入门指南(第2版)》一3.2 字符串类型

    本节书摘来异步社区<Redis入门指南(第2版)>一书中的第3章,第3.2节,作者: 李子骅 责编: 杨海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 3. ...

  4. Redis 入门指南 pdf

    2019独角兽企业重金招聘Python工程师标准>>> Redis入门指南 https://yunpan.cn/cxqL7KVWgrTVb  访问密码 77ea 转载于:https: ...

  5. Matlab编程入门指南:简介、安装、学习路线和几十个编程案例分析。

    一.Matlab编程入门指南:简介.安装.学习路线和几十个编程案例分析. 1.Matlab编程语言是一种广泛应用于科学计算.工程计算.数据分析.统计分析.信号处理等领域的高级数值计算和数据可视化软件. ...

  6. Redis入门指南之三(入门)

    本节主要介绍Redis的5种数据类型,同时使用Python API来操作Redis,其中python版本为3.5, redis版本为4.0.2. redis-py 的API的使用可以分类为: (1)连 ...

  7. Redis入门指南:深入了解这款高性能缓存数据库

    本文将带您了解Redis的基本概念.数据类型.特性以及如何在实际项目中应用Redis.通过阅读本文,您将更好地理解如何利用Redis优化您的应用程序性能. 1. 什么是Redis? 2. Redis的 ...

  8. 一.Redis入门指南总结--认识Redis

    一.Redis简介 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库,Redis对数据的操作都是原子性的. Redis 与其他 key - value 缓存产品 ...

  9. Redis入门指南(第2版) Redis设计思路学习与总结

    https://www.qcloud.com/community/article/222 宋增宽,腾讯工程师,16年毕业加入腾讯,从事海量服务后台设计与研发工作,现在负责QQ群后台等项目,喜欢研究技术 ...

  10. 《Redis入门指南》第2版 读书笔记

    读第二遍了,感觉和几年前读时的收获不一样了. 送上门来当树洞的 独自承担一切 Redis以简洁为美 Redis通信协议是Redis客户端与Redis之间交流的语言,通信协议规定了命令和返回值的格式. ...

最新文章

  1. 一个代理商×××条件
  2. CTFshow php特性 web146
  3. Python: Console框消失
  4. Luogu P4205 [NOI2005]智慧珠游戏
  5. 互联网日报 | 5月12日 星期三 | 全国人口共14.1178亿人;长安汽车迈入2000万辆时代;Soul递交纳斯达克招股书...
  6. Java基础---认识IO流---字节流、字符流---缓冲流---转换流
  7. HDU 1285:确定比赛名次(拓扑排序)
  8. 实验4-1-6 求分数序列前N项和 (15 分)
  9. cocos2d-x CCArray用法 遍历和删除元素
  10. 图像处理保研面试_保研(六校面试)
  11. get buffer from CMSampleBufferRef
  12. Android Studio failed to resolve:com.android.support.appcompat-v7:28+ 报错
  13. 每天一道算法题(16)——翻转链表
  14. 关闭笔记本电脑计算机键盘,笔记本电脑关闭键盘_笔记本电脑怎么关键盘
  15. cmd命令根据wsdl文件生成Java文件
  16. md5加密工具类(16位,32位,64位)
  17. linux压缩文件方式,在 Linux 上压缩文件的 5 种方法
  18. windows驱动开发8:虚拟摄像头方案
  19. windows自带日语输入法快捷键
  20. 51Nod 1463

热门文章

  1. android 互传文件,堪比隔空投送!iPhone和安卓、PC互传文件的3种方法,建议收藏...
  2. c语言pi算法程序,C语言计算圆周率PI
  3. R语言数据分析笔记——方差分析(单因素方差分析、双因素方差分析、多因素方差分析)在Excel、SPSS、R语言中的操作)
  4. 用NBSI进行SQL注入***分析及安全解决方案
  5. markdown中打勾,对号和打叉,表格内换行
  6. 2022年电子商务概论(农)之形考作业三
  7. 【新闻】本人新书《Java多线程编程实战指南(核心篇)》已出版上市
  8. 程序员桌面都这么秀?网友:用砖头当杯垫这样合适吗?留着吓谁
  9. JMeter断言之json断言
  10. Visio 2003 sp3下载