美文网首页
1-Redis应用场景

1-Redis应用场景

作者: Guoyubo | 来源:发表于2018-08-15 18:21 被阅读0次

近来一直听说redis,也不清楚到底是干嘛的,解决什么问题的,一百度就直接说教你代码怎么用,前提是要知道应用场景啊!

1 为什么使用?(网上都这么说,我理解不透)

*解决数据高并发的读写问题

*解决应用服务器的cpu和内存压力

*减少io的读操作,减轻io的压力

2 我的理解

首先不管你是从别人哪里听到的redis还是你自己主动需要用redis,都说明是遇到高并发问题了,数据库查的太慢了,或者说其实数据库已经是很快了,但是你这1秒内要查个几百万次相同的数据(网速因素不考虑),数据库忙不过来了,连数据库最大连接数都不够用了,挂了。为啥这时候redis就行了呢?

因为redis是操作内存的,速度和操作磁盘的不是一个级别的。mysql是以文件的形式存储的,sql的每次检索数据和插入数据都是读写(I/O)的操作,相对内存来说很耗时。但内存里的数据一断电就全没了,后边有时间再说怎么把内存数据及时保存到磁盘,即所谓的持久化

redis提供两种方式进行持久化:

一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),即定时保存

另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)即实时保存

3 redis一般存储什么数据?

1 查询耗时的数据

我们一般是把redis当缓存来用的,什么意思呢,就是把经常用到的一些查询耗时的数据在每次入mysql库的时候就放到redis里,下次来查的时候先查下redis里有没有数据,有的话就直接取了,就不用查询数据库了

举个例子

现在前端页面要实时显示下某物体的实时轨迹,那你每秒(或者不到1s)都查一次数据库,每次都把所有的历史轨迹从数据库查出来会相对较慢,你可以每次在物体上传自己位置到数据库的时候,先存到redis,然后再存数据库,量大的话让数据库慢慢存,你每次只查redis就行了,相对每次查数据库会快很多

2 短期内不怎么变化的数据

举个例子

比如a网站首页一天有100万人访问,其中有一个板块为推荐新闻(大家看到的都一样,这个数据今天不会变化)。要是直接从数据库查询,那么一天就要多消耗100万次数据库请求。将这种热点数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。

相关文章

  • 1-Redis应用场景

    近来一直听说redis,也不清楚到底是干嘛的,解决什么问题的,一百度就直接说教你代码怎么用,前提是要知道应用场景啊...

  • Redis Learning

    应用场景:redis 适用于小而热的数据 Redis应用场景 Redis作者谈Redis应用场景我们在应用redi...

  • 【ML】机器学习算法应用场景实例六十则

    本文整理了60个机器学习算法应用场景实例,含分类算法应用场景20个、回归算法应用场景20个、聚类算法应用场景10个...

  • 13 个 GCD 应用场景

    13 个 GCD 应用场景 13 个 GCD 应用场景

  • 【AI知识】人工智能的应用场景/建议收藏

    本文主要从现有人工智能水平应用场景和人工智能应用场景入手: 一,人工智能水平应用场景 人工智能水平应用场景主要有:...

  • 应用场景

    H5应用场景很宽泛的,比如:微信好友结婚时分享的链接;人民日报客户端不定期的H5展示领导金句,我为祖国添光彩等活动...

  • runloop场景应用

    应用场景举例:主线程的 RunLoop 里有两个预置的 Mode:kCFRunLoopDefaultMode 和 ...

  • 应用场景

    1.应用场景 getter: 获取对象属性的值之前想要做点儿别的事情,就给这个属性添加gettersetter: ...

  • redis场景应用

    抢购 使用push pop防止物品库存为负数

  • 应用场景

    [应用场景]纪录片的应用,如果我们企业需要推广产品,一般是宣传片,或者是请明星代言的广告片,打的就是爆发力。短板也...

网友评论

      本文标题:1-Redis应用场景

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