Redis入门(一)-Redis简介
最近几年,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简介的更多相关文章
- Redis入门实例(Redis+Sprint+maven创建工程)
一.>创建一个maven工程应用和相关配置:Redis_study,创建工程应用过程略 1.>配置pom.xml:文件内容如下 <project xmlns="http:/ ...
- Redis 入门之Redis简介
Reids 是一个开源的高性能键值对数据库.它通过多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存.队列系统等不同的角色. 1.Reids的诞生 Redis到底是在 ...
- Redis入门笔记-redis内部数据结构(01)
redis是一个轻量级的Nodsql数据库,使用kev-value的形式存储数据,在redis的世界里,没有整数.浮点数等概念,大多数情况下数据以字符串形式展现,偶尔会出现Long类型数据的场景. 一 ...
- 安装redis入门
redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...
- redis入门(一)
目录 redis入门(一) 前言 特性 速度快 简单稳定 丰富的功能 历史 历史版本 安装与启动 安装 数据类型与内部编码 数据结构 内部编码 常用API与使用场景 常用命令 字符串 列表 哈希 集合 ...
- redis入门(二)
目录 redis入门(二) 前言 持久化 RDB AOF 持久化文件加载 高可用 哨兵 流程 安装部署 配置技巧 集群 原理 集群搭建 参考文档 redis入门(二) 前言 在redis入门(一)简单 ...
- redis入门(三)
目录 redis入门(三) 目录 前言 事务 原理 Lua脚本 安装 脚本命令 集群搭建工具 redis-trib.rb redis官方集群搭建 集群横向扩展 故障转移 redis管理 参考文档 re ...
- Redis入门指南之一(简介)
1. 简介 Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同的场景下的缓存与存储需求.同时Redis的诸多高级功能使其可以胜任消息队列.任务队列等不同的 ...
- Redis入门很简单之一【简介与环境搭建】
Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件 [Redis简介] <一>. NoSQL ...
- redis从入门到放弃 -> 简介&概念
一.redis简介 Redis是一款开源的.高性能的键-值存储.它常被称作是一款数据结构服务器. 当值支持的主要数据类型为:字符串(strings)类型,括哈希(hashes).列表(lists).集 ...
随机推荐
- 【Html JS】使用问题记录
[Html JS]使用问题记录 ================================================================ 1.td 文字换行 2.正则表达式 = ...
- Chrome浏览器字体设置低于12px无效
在Chrome 在IE11 本来以为是padding问题导致出现左右两边的底部不在同一直线(在IE上),在Chrome显示是正常的,查了一下,IE11和Chrome都是 ...
- CCF-CSP题解 201412-4 最优灌溉
\(kruskal\),有兴趣\(heap\_prim\).\(stl\ pq\)实现复杂度相同. #include <bits/stdc++.h> using namespace std ...
- HTTP 错误 500.19 - Internal Server Error解决办法详解
最近在服务器端部署程序发现这个问题,HTTP 错误 500.19 - Internal Server Error,程序在本地跑是没有问题的.但是部署完,浏览程序就出现这个问题,今天这篇文章就是记录一下 ...
- Linux服务器部署.Net Core笔记:一、开启ssh服务
开启ssh服务需要root权限,先用root账户登陆系统 在安装ssh前我们先更新一下yum:yum update 先检查有没有安装ssh服务:rpm -qa | grep ssh 如果没有安装ssh ...
- 转载 全角字符unicode码对应表
http://www.mytju.com/classcode/tools/encode_utf8.asp 对应关系查询网站 Uni. GB Uni. GB Uni. GB Uni. GB Uni. G ...
- vscode搭建C/C++环境
windows安装Mingw-w64 Mingw-w64安装 准备工作 创建文件夹Vc_c++ 在Vc_c++文件夹下创建下面两个文件夹 在g++下创建demo.cpp 在gcc下创建demo.c 打 ...
- flask项目统一捕获异常并自定义异常信息
背景: 在日常编写了一些flask项目,主要用于测试方面的mock场景,但迭代到后期发现有时候会抛出各种乱七八糟的异常或者直接500且没有任何异常信息,这种情况一般都是某个代码块没有用try ...
- webpack4 配置
package.json 开发环境/生产环境 webpack.config.js
- P1983 车站分级 思维+拓扑排序
很久以前的一道暑假集训的题,忘了补. 感觉就是思维建图,加拓扑排序. 未停靠的火车站,必然比停靠的火车站等级低,就可以以此来建边,此处注意用vis来维护一下,一个起点和终点只建立一条边,因为不这样的话 ...