Redis简介及优势

  • Redis特点
  • Redis优势
  • Redis与其他key-value存储有何不同

Redis 是一款完全开源且高性能的key-value数据库

Redis特点

  • Redis是基于内存的数据库,速度快,而且支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis支持多种数据结构,包括String、List、Set、Hash、Zset五种类型。
  • Redis支持数据的备份,即master-slave(主从设备)模式的数据备份。

注:主从设备模式(Master-Slave)也叫做主仆模式,核心思想是基于分而治之的思想,将一个原始任务分解为若干个语义等同的子任务,并由专门的工作者线程来并行执行这些任务,原始任务的结果是通过整合各个子任务的处理结果形成的.

Redis优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子性 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。(事务)
  • 丰富的特性 – Redis还支持 publish/subscribe(发布/订阅者模式), 通知, key 过期等等特性。
  • 采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;
  • 使用非阻塞IO;

发布/订阅者模式图解如下

当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:

Redis与其他key-value存储有何不同

  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

Redis简介及优势相关推荐

  1. Redis简介、特性、优势、应用场景和nosql介绍

    1. nosql介绍 NoSQL:一类新出现的数据库(not only sql) 泛指非关系型的数据库  [不需要分析表与表之间的关系] 不支持SQL语法 存储结构跟传统关系型数据库中的那种关系表完全 ...

  2. 【基础概念】 Redis简介和面试常见问题

    Redis简介和面试常见问题 简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起 ...

  3. Redis简介及安装

    Redis简介及安装 文章目录 Redis简介及安装 一.nosql介绍 1.NoSQL 2.NoSQL和SQL数据库的比较: 二.Redis 1.简介 2.Redis特性 3.Redis 优势 4. ...

  4. Redis简介(1)

    Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久 ...

  5. redis简介-各种基础

    redis简介 1.redis是一个开源的使用C语言编写的,可基于内存也可以持久化的Key-Value数据库. 2.解压之后可以使用redis-cli进行启动 3.Redis是很快的. 原因:完全基于 ...

  6. Redis 简介、Linux 安装 Redis、Redis 使用

    Redis 简介 Redis 是一种内存型数据存储,也可以将它写入磁盘中来实现耐久性.Redis 可通过两种方式来持久存储数据:RDB 和 AOF.RDB 持久性按照指定的间隔对您的数据集执行时间点快 ...

  7. Redis是什么 , 为什么要使用redis redis做缓存优势

    1. Redis简介 redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).l ...

  8. php redis 菜鸟,Redis入门(一):Redis 简介

    Redis入门(一):Redis 简介 作者:PHPYuan 时间:2018-07-23 03:41:00 Redis 是什么? Redis是一个开源(BSD许可)的,利用内存进行存储的数据结构存储系 ...

  9. redis教程(一)之redis简介

    为什么80%的码农都做不了架构师?>>>    redis简介 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主 ...

最新文章

  1. java user.dir 设置_使用java系统属性user.dir读取配置文件
  2. MFC视图滚动条的基本使用和C语言输出三角形的MFC版本
  3. 转眼人到中年:前端老程序员无法忘怀的一次百度电话面试(二)
  4. Ubuntu中rsync配合inotify做服务器间文件同步
  5. 电够动力足——认识主板上的CPU供电模块
  6. LoadRunner11破解方法
  7. HarmonyOS 项目实战之通讯录(Java)
  8. dell R740secure boot_凯诺 10月11日 DELL 电脑报价
  9. 信息系统项目管理-项目变更管理-十六
  10. 步步为赢,做好数据分析的7个步骤
  11. XTU OJ 1396
  12. C++ Const 初步总结(《C++程序设计语言》读后感)
  13. CSDN使用Markdown编辑器
  14. 微信号名称乱码什么情况_“微信号”与“微信账号”有什么区别?
  15. 淘宝商品详情页API接口、淘宝商品销量API接口、淘宝商品列表API接口、淘宝APP详情API接口、淘宝详情API接口
  16. 学校计算机教室 计划总结怎么写,学校信息技术教师的工作总结范文
  17. python rewind_C语言rewind和fseek函数的用法详解(随机读写文件)
  18. 基础不牢靠,何以争朝夕?Java基础面试82道详细解析(更新中)
  19. java web租车系统_JavaWeb在线租车服务系统项目源码(福利)
  20. PCB电路设计的14个误区

热门文章

  1. 什么是命名数据网络NDN?
  2. 微信小程序学习和实践总结
  3. 对于MSP430F5529时钟系统的理解
  4. 执行npm出现“Error:Cannot find module ‘fs/promises”的问题
  5. Java子线程异常及异常处理
  6. php pdo的用法,php pdo函数库用法详解
  7. 传世之文《Teach Yourself Programming in Ten Years》十年学会编程
  8. pandas中drop用法_机器学习笔记:Pandas的delete、drop函数的用法
  9. 多御浏览器新出的手机版本有什么功能?
  10. 大数据分析的思维方式有哪些