最近几年,Rddis非常的火,受到广大中大型公司,特别是互联网公司的青睐。而作为后端开发,如果你不知道Redis或不会用,没用过,你都不好意思出去找工作。可想而知Redis对于IT行业意义多么重大。对于一些初学者可能并不了解Redis,所以,我们接下来一起来学习一下Reids的一些基本概念,进而加深对Redis的理解。

Redis是什么?

首先看官网的解释:

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。

对于小白来说,看了上面的解释可能依旧很懵逼,通俗一点讲,那就是Redis是一款NoSQL数据库产品,是一个基于key-value存储数据的服务器。相对于MySQL、Oracle这些关系型数据库来说,Redis是非关系型数据库。而且Redis是基于内存存储的,也就是说存在Redis里的数据其实是直接存在内存里的,我们都知道计算机直接去读取内存的话,那速度是相当快的,相对于关系型数据库内存是存在磁盘里的,读取的时候需要先从磁盘读取到内存,然后程序再从内存读取数据。这样就多了一次拷贝,并且读取磁盘并不像读内存那样块,所以在速度上肯定比不上直接读取内存。这也是Redis比较快的一个重要因素。另外,Redis是开放源代码的完全免费的,社区比较活跃,更新速度快,是基于C语言实现的。

刚才说到非关系型数据库,解释一下什么是非关系型数据库。所谓非关系型数据库,是相较于传统的关系型数据库(MySQL,Oracle)来说的。我们都知道,在使用MySQL或Oracle之前,我们都要先建数据库,然后创建表结构,其次才可以往表里插入数据,读取数据。相反,对于非关系型数据库Redis来说,则不需要建库建表,只要服务启动,就可以通过客户端来访问,并存取数据。Redis没有那些复杂的表结构,不是靠表和字段来进行约束的,而是通过key-value的方式对数据进行存取。

数据存在内存会有丢失的可能,Redis也想到了这一点,所以Redis还支持多种方式的持久化,Redis内的数据可以在合适的时候持久化到磁盘。Redis支持数据的备份,即master-slave模式的数据备份。

总结几点就是,数据存在内存、高速读取、nosql、key-value型、非关系型、开源免费、数据类型丰富、可持久化可备份。

为什么选择Redis?

1、性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。(官方数据)

2、丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

3、原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

4、丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis与其他类似产品存储方式有什么不同?

1、数据结构丰富且复杂

Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。

2、操作简单,容易上手

Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。

3、可持久化

Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。

4、数据存储紧凑

在磁盘格式方面他们是紧凑的以追加的方式产生的,所以他们并不需要进行随机访问。

到此,大家对Redis有了简单的了解了吧,希望对于初学者来说有所帮助。下一节将会讲述,Redis能够做什么。

【end】

Redis入门(一)-Redis简介的更多相关文章

  1. Redis入门实例(Redis+Sprint+maven创建工程)

    一.>创建一个maven工程应用和相关配置:Redis_study,创建工程应用过程略 1.>配置pom.xml:文件内容如下 <project xmlns="http:/ ...

  2. Redis 入门之Redis简介

    Reids 是一个开源的高性能键值对数据库.它通过多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存.队列系统等不同的角色. 1.Reids的诞生 Redis到底是在 ...

  3. Redis入门笔记-redis内部数据结构(01)

    redis是一个轻量级的Nodsql数据库,使用kev-value的形式存储数据,在redis的世界里,没有整数.浮点数等概念,大多数情况下数据以字符串形式展现,偶尔会出现Long类型数据的场景. 一 ...

  4. 安装redis入门

    redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...

  5. redis入门(一)

    目录 redis入门(一) 前言 特性 速度快 简单稳定 丰富的功能 历史 历史版本 安装与启动 安装 数据类型与内部编码 数据结构 内部编码 常用API与使用场景 常用命令 字符串 列表 哈希 集合 ...

  6. redis入门(二)

    目录 redis入门(二) 前言 持久化 RDB AOF 持久化文件加载 高可用 哨兵 流程 安装部署 配置技巧 集群 原理 集群搭建 参考文档 redis入门(二) 前言 在redis入门(一)简单 ...

  7. redis入门(三)

    目录 redis入门(三) 目录 前言 事务 原理 Lua脚本 安装 脚本命令 集群搭建工具 redis-trib.rb redis官方集群搭建 集群横向扩展 故障转移 redis管理 参考文档 re ...

  8. Redis入门指南之一(简介)

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

  9. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  10. redis从入门到放弃 -> 简介&概念

    一.redis简介 Redis是一款开源的.高性能的键-值存储.它常被称作是一款数据结构服务器. 当值支持的主要数据类型为:字符串(strings)类型,括哈希(hashes).列表(lists).集 ...

随机推荐

  1. 微信小程序 wepy框架 之拦截器intercepter使用

    1,在使用wepy框架创建的项目下 找到src/app.wpy 2,在app.wpy constructor方法中添加 super(); this.use('promisify');//启用ES6 p ...

  2. Spring Cloud Config入门(本地配置)

    spring cloud config 简介 Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持.使用Config Server,您可以在所有环境中管理应用程序的外 ...

  3. C# 模拟浏览器并自动操作

    本文主要讲解通过WebBrowser控件打开浏览页面,并操作页面元素实现自动搜索功能,仅供学习分享使用,如有不足之处,还请指正. 涉及知识点 WebBrowser:用于在WinForm窗体中,模拟浏览 ...

  4. AOP框架Dora.Interception 3.0 [5]: 基于策略的拦截器注册方式

    注册拦截器旨在解决如何将拦截器应用到目标方法的问题.在我看来,针对拦截器的注册应该是明确而精准的,也就是我们提供的注册方式应该让拦截器准确地应用到期望的目标方法上,不能多也不能少.如果注册的方式过于模 ...

  5. Odoo系统有哪些不同版本?

    来源:www.odooyun.com 1. Odoo10.0 vs Odoo11.0 vs 8.0 截至2017年底,最新的Odoo发布版为Odoo 11.0,但功能上有一定精简(去除财务模块,去除工 ...

  6. Mac 停止redis服务

    停止redis服务: redis-cli shutdown 开始redis服务: redis-server

  7. [20191213]toad 12下BIND_AWARE提示无效.txt

    [20191213]toad 12下BIND_AWARE提示无效.txt --//链接http://blog.itpub.net/267265/viewspace-2130781/的测试,发现当时测试 ...

  8. MySQL Event历史记录

    需求 SQL Server的作业历史(Job)记录是保存在msdb库中的,很方便就查询相关的Job定义,计划和历史记录,而MySQL的event却没有历史记录.为方便查看event是否正常执行以及执行 ...

  9. CodeForces - 158C(模拟)

    题意 https://vjudge.net/problem/CodeForces-158C 你需要实现类似 Unix / Linux 下的 cd 和 pwd 命令. 一开始,用户处于根目录 / 下. ...

  10. Android组件体系之Activity启动模式解析

    本文主要分析Activity的启动模式及使用场景. 一.Activity启动模式浅析 1.standard 标准模式,系统默认的启动模式.在启动Activity时,系统总是创建一个新的Activity ...