美文网首页
复习下redis

复习下redis

作者: 小Ju | 来源:发表于2020-06-25 10:33 被阅读0次

项目中的缓存是怎么用到的,为什么用?

回想一下自己的项目中用到缓存的地方:购物车模块,cc直播模块,首页的课程分类列表等。至于为什么用,主要考虑到的是:
1高性能,缓存查询速度比较快,有一些复杂查询比较耗时,将聚合的结果进行缓存。
2.有些数据经常要查询,但是又是不需要怎么改变的(首页的课程分类列表)
3.有一些数据只是暂时存在,不需要保存到数据库中
4.高并发?还没有试过

redis的单线程模型:

redis里面有一个文件事件处理器是单线程的,采用的是非阻塞的IO多路复用的机制(将请求压到队列中),基于内存的操作。

redis的缓存类型:

string,set(去重),hash(对象),list,sorted set(排序)

redis的过期策略:

1.定时清除,设置过期时间。问题redis设置定时清除采用的是惰性删除,过期了并没有删除,要等到用户再次请求后才删除
2.内存淘汰:内存过多的时候,可以自动删除一些数据可以自己定制自己的策略(最近查询比较少的数据allkeys-lru)

redis高并发:

1.集群
2.可以将读写分离

redis高可用:

1.第一个想法就是搞集群 http://www.redis.cn/topics/cluster-tutorial.html
2.单机(主从架构,有一台master主机接收用户的写操作,由主机再将数据同步到从机上)

redis持久化机制:

RDB和AOF:RDB是快照,全量保存(save(同步)和bgsave(触发条件异步)机制);AOF:增量保存,可以设置每次操作保存,也可以设置每秒保存。

缓存的问题:

1.怎么解决缓存数据和数据库的数据一致
基本的数据库写和改操作后,进行缓存的更新
2.缓存雪崩问题。(缓存挂了,请求走数据库了,就导致雪崩了)
保证redis集群高可用(主从机制),也可以再搞一个本地缓存escache,配好降级操作(Hystrix)防止数据库卡导致全部系统雪崩。必须做好持久化,方便快速恢复。
3.缓存穿透。(有人用缓存不存在的数据请求,数据和缓存都没有)
如果数据没有数据就写一个空值(或者unknow)到缓存中

相关文章

  • 复习下redis

    项目中的缓存是怎么用到的,为什么用? 回想一下自己的项目中用到缓存的地方:购物车模块,cc直播模块,首页的课程分类...

  • java HashMap redis hash

    最近在看redis深度历险,提到了java的HashMap和Redis的hash,这里记录一下,顺便复习下java...

  • docker redis 单机

    想系统复习下redis的相关知识, 又不是特别想直接在本机装redis,试试docker,后续可能会继续使用doc...

  • python连接Redis方式

    参考文章 工作中用到了redis,想写篇文章复习以及学习一下python连接redis的几种原始方式,而不是框架中...

  • Redis Sentinel与高可用主从复制

    2020年面试复习Redis建议你看这套999元的教程就够了! 知识点 Redis Sentinel是Redis的...

  • Redis复习笔记

    1. Redis常用数据结构 string、hash、list、set、sortedset 2. Redis数据持...

  • Redis复习笔记

    Redis基础复习 由于做的是企业级的开发,有很多之前学过的内容,差不多都好忘光了,趁过年休假,好好整理一下,温故...

  • Redis基础复习

    其他命令 info:查看redis系统信息,包括库的信息 Keyspaceselect:Keyspace中选择db...

  • Redis哨兵模式(sentinel)学习总结及部署记录(主从复

    2020年面试复习Redis建议你看这套999元的教程就够了! Redis的集群方案大致有三种:1)redis c...

  • Redis 总结精讲 看一篇成高手系统

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

网友评论

      本文标题:复习下redis

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