美文网首页
为什么要使用Redis?

为什么要使用Redis?

作者: 努力努力再努力_y | 来源:发表于2017-12-26 11:51 被阅读2687次
redis

一、Redis简介

redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value
存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集
合)、zset(sorted set –有序集合)和hash(哈希类型,类似于java中的map)。Redis基于
内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们
称为数据结构服务器。

二、互联网时代背景下大机遇,什么要使用Nosql?

1) 当数据量的总大小一个机器放不下时。

2) 数据索引一个机器的内存放不下时。

3) 访问量(读写混合)一个实例放不下时。

三、看图

单机时代模型

image.png

如果每次存储成千上万条数据,这样很会导致MySQL的性能很差,存储以及读取速度很慢,然后就演变成缓存+mysql+垂直拆分的方式。

image.png

Cache作为中间缓存
将所有的数据先保存到缓存中,然后再存入mysql中,减小数据库压力,提高效率。
但是当数据再次增加到又一个量级,上面的方式也不能满足需求,由于数据库的写入压力增加,Memcached只能缓解数据库的读取压力。读写集中在一个数据库上让数据库不堪重负,大部分网站开始使用主从复制技术来达到读写分离,以提高读写性能和读库的可扩展性。Mysql的master-slave模式成为这个时候的网站标配了。

image.png

主从分离模式
在redis的高速缓存,MySQL的主从复制,读写分离的基础之上,这时MySQL主库的写压力开始出现瓶颈,而数据量的持续猛增,由于MyISAM使用表锁,在高并发下会出现严重的锁问题,大量的高并发MySQL应用开始使用InnoDB引擎代替MyISAM。

image.png

分表分库模式
将变化小的、业务相关的放在一个数据库,变化多的,不相关的数据放在一个数据库。

四、nosql数据库的优势

1)易扩展
这些类型的数据存储不需要固定的模式,无需多余的操作就可以进行横向的扩展。相对于关系型数据库可以减少表和字段特别多的情况。也无型之间在架构的层面上带来了可扩展的能力

2)大数据量提高性能

3)多样灵活的数据模型
在nosql中不仅可以存储String,hash,set、Zset等数据类型,还可以保存javaBean以及多种复杂的数据类型。

五、NoSql的应用

1) 大数据时代淘宝、微信、以及微博等都广泛的使用了redis数据库,将一些固定不变的数据例如学校,区域等固定的信息保存在关系型数据库中。然后对于经常变化的数据例如淘宝每个节日都会有比较热门的搜索显示在搜索框,当节日过去关键字自动删除,为了便于管理,可以将这些数据保存在redis数据库中,并设置过期时间,到达时间就自动删除。

2)为了缓解数据库压力,微博首先将发送的微博保存到redis数据库,自己可以立即查看到,然后将内存中的数据同步到关系型数据库。

相关文章

  • Redis能做什么?不能做什么?

    一、根据redis设计与实现中整理了学习的思路: 为什么要选择Redis:介绍Redis的使用场景与使用Redis...

  • 干货!带你了解为什么那么多开源项目都是用Redis!

    很多开源项目中都使用了redis,这些项目为什么使用redis?使用redis有什么好处?怎么使用redis?带着...

  • 分布式之redis精讲

    本文围绕以下几点进行阐述 1、为什么使用redis 2、使用redis有什么缺点 3、单线程的redis为什么这么...

  • Redis 原理

    本文围绕以下几点进行阐述 1、为什么使用redis 2、使用redis有什么缺点 3、单线程的redis为什么这么...

  • Redis查漏补缺:最易错过的技术要点大扫盲

    本文围绕以下几点进行阐述: 为什么使用Redis 使用Redis有什么缺点 单线程的Redis为什么这么快 Red...

  • Redis第1课:为什么我们要使用 Redis

    导言 如果你从来没使用过 Redis 数据库,那你肯定会问,为什么我们要学 Redis数据库,我只使用 MySQL...

  • redis 使用历程

    redis 使用历程 为什么使用redis缓存? 答:之前是没有使用redis的,直接用Java代码写类缓存功能,...

  • Redis总结

    原文章公众号地址 问题: 1.为什么使用Redis 2.使用Redis有什么缺点 3.单线程的Redis为什么这么...

  • Redis 总结精讲

    本文围绕以下几点进行阐述 1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4...

  • 为什么分布式一定要有Redis

    一 、为什么使用Redis 我觉得在项目中使用Redis,主要是从两个角度去思考:性能和并发。 当然,Redis还...

网友评论

      本文标题:为什么要使用Redis?

      本文链接:https://www.haomeiwen.com/subject/rmvdgxtx.html