为什么要使用Redis? —— Redis实战经验

(序言,从一张思维导图开始,慢慢介绍我自己关于Redis的实战经验)
现在很多互联网应用的服务端都使用到了Redis,到底大家为什么要用Redis呢?Redis有很多特性,比如高性能、高可用、数据类型丰富、易于扩展、可持久化、原子性等等,我觉得其中的“高性能”和“数据类型丰富”是最具决定性的,分析思路如下。
1. 性能
关系型数据库的数据存储在硬盘,在高并发环境下I/O较高,并发能力弱,Redis的数据存储在内存,性能远高于关系型数据库。关系型数据库的性能受硬件、SQL质量、数据量等方面的影响较大,不能一概而论,但一般认为不超过1万次/秒,而Redis的读的速度可达11万次/秒,写的速度可达8万次/秒。
另一方面,随着数据量的增大,关系型数据库的查询速度会显著降低,而Redis则不会。
2. 数据类型丰富
如果只是因为关系型数据库的性能问题,那么其它缓存(比如Memcache)也能减少数据库的查询次数,为什么是Redis?因为Redis支持字符串(string)、哈希(hash)、列表(list)、无序集合(set)、有序集合(sorted set)多种数据类型,这些数据类型能在实战中能发挥出强大的作用,在后续的系列文章中我会一一介绍各种数据类型的应用场景。
当然,高可用、易于扩展、可持久化、原子性等特点也是很重要的特性,深入理解有助于实战应用。
加入“为什么要使用Redis?”后的思维导图。

为什么要使用Redis? —— Redis实战经验的更多相关文章
- (转)国内外三个不同领域巨头分享的Redis实战经验及使用场景
随着应用对高性能需求的增加,NoSQL逐渐在各大名企的系统架构中生根发芽.这里我们将为大家分享社交巨头新浪微博.传媒巨头Viacom及图片分享领域佼佼者Pinterest带来的Redis实践,首先我们 ...
- Redis实战经验及使用场景
随着应用对高性能需求的增加,NoSQL逐渐在各大名企的系统架构中生根发芽.这里我们将为大家分享社交巨头新浪微博.传媒巨头Viacom及图片分享领域佼佼者Pinterest带来的Redis实践,首先我们 ...
- Redis企业实战的一些坑
附录:Redis企业实战的一些坑 一.前言 小伙伴们对Redis应该不陌生,Redis是系统必备的分布式缓存中间件,主要用来解决高并发下分担DB资源的负载,从而提升系统吞吐量. Redis支持多种数据 ...
- Redis主从实战
为了提升redis高可用性,除了备份redis dump数据之外,还需要创建redis主从架构,可以利用从将数据库持久化,(我们所说的数据持久化将是将数据保存到写磁盘上,保证不会因为断电等因素丢失数据 ...
- [Redis] - redis实战
Microsoft Windows [版本 10.0.17134.472] (c) Microsoft Corporation.保留所有权利. C:\Users\SeeClanUkyo>f: F ...
- CentOS 6上的redis搭建实战记录(转)
redis 是一个基于内存的高性能key-value数据库,数据都保存在内存中定期刷新到磁盘,以极高的读写效率而备受关注.他的特点是支持各种数据结构,stirng,hashes, list,set,和 ...
- Hystrix 实战经验分享
一.背景 Hystrix是Netlifx开源的一款容错框架,防雪崩利器,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)等功能. 尽管说Hystrix官方已不再维护,且有A ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 特殊问题和实战经验(五)
RAC 特殊问题和实战经验(五) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- [redis] Redis 配置文件置参数详解
################################ 基础配置 ################################# #daemonize no 默认情况下, redis 不 ...
随机推荐
- Vlan 间路由的方法
vlan间路由的方法主要有三种 1.通过路由器上多个接口实现 2.通过路由器上一个接口即单臂路由实现 3.通过三层交换实现 下面将每一中实现方法配合实验说明 第一:通过路由器上多个接口实现 ...
- expect知识梳理
1 expect expect软件用于实现非交互式操作,实际应用中常用于批量部署,可以帮助运维人员管理成千上万台服务器. expect实现非交互式操作主要是在程序发出交互式询问时,按条件传递程序所需的 ...
- Docker深入浅出系列 | 容器数据持久化
Docker深入浅出系列 | 容器数据持久化 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会 ...
- 基于SSM开发自行车在线租赁管理系统源码
开发环境: Windows操作系统开发工具: Myeclipse+Jdk+Tomcat+MYSQL数据库注意:此项目分管理员与普通用户两种角色运行效果图 源码及原文链接:https://javadao ...
- redis 5.0.7 源码阅读——字典dict
redis中字典相关的文件为:dict.h与dict.c 与其说是一个字典,道不如说是一个哈希表. 一.数据结构 dictEntry typedef struct dictEntry { void * ...
- proptypes介绍
开始 prop-types的主要作用:对props中数据类型进行检测及限制 引用方法:import PropTypes from 'prop-types' 用法: // 基本用法 用来检测数据类型 c ...
- Leetcode:235. 二叉搜索树的最近公共祖先
Leetcode:235. 二叉搜索树的最近公共祖先 Leetcode:235. 二叉搜索树的最近公共祖先 Talk is cheap . Show me the code . /** * Defin ...
- layui table 表头和内容数据不能对齐
个人博客 地址:http://www.wenhaofan.com/article/20181224153019 今天使用layui table方法渲染时出现了个莫名其妙的错误 正常情况table应该是 ...
- TampeMonkey 关于 youtube的两个插件
一个是 Video Speed Buttons 负责调速 一个是 YouTube Links 负责下载不同分辨率的视频
- 02.JS数据类型与数据类型转换
前言: 学习一门编程语言的基本步骤 (01)了解背景知识 (02)搭建开发环境 (03)语法规范 (04)常量和变量 (05)数据类型 (06)数据类型转换5.数据类型——datatype 数据 ...