缓存
Java全栈研发大联盟
好记性不如烂笔头,好好学
展开
-
缓存常见面试题(1)
(1)第一问,在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果?答:一个一个来看(1)在项目中缓存是如何使用的?这个,你结合你自己项目的业务来,你如果用了那恭喜你,你如果没用那不好意思,你硬加也得加一个场景吧(2)为啥在项目里要用缓存呢?用缓存,主要是俩用途,高性能和高并发那么问题来了,如果不用缓存会是什么效果?每次查询数据都要从数据库查,严重消耗数据库性能用了缓存之后,...原创 2018-11-18 21:41:08 · 8332 阅读 · 0 评论 -
redis实用场景
原创 2019-03-19 11:11:06 · 521 阅读 · 0 评论 -
Redis最常见面试问题
1.什么是redis?Redis 是一个基于内存的高性能key-value数据库。2.Reids的特点原创 2019-03-16 20:56:18 · 520 阅读 · 0 评论 -
Javaee之redis学习以及5种基本数据类型的操作
Redis实战1.Java缓存机制OsCache与EhCache区别ehcache 主要是对数据库访问的缓存,相同的查询语句只需查询一次数据库,从而提高了查询的速度,使用spring的AOP可以很容易实现这一功能。oscache 主要是对页面的缓存,可以整页或者指定网页某一部分缓存,同时指定他的过期时间,这样在此时间段里面访问的数据都是一样的。2.NoSQL 是 Not Only SQL...原创 2019-06-12 08:32:52 · 650 阅读 · 0 评论 -
redis高级
redis主从复制概述1.redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。2、通过redis的复制功能可以很好的实现数据库的读写分离,提高服...原创 2018-09-25 16:00:03 · 500 阅读 · 0 评论 -
Redis持久化
Redis持久化什么是Redis持久化什么是Redis持久化,就是将内存数据保存到硬盘。Redis 持久化存储 (AOF 与 RDB 两种模式RDB持久化RDB 是以二进制文件,是在某个时间 点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。优点:使用单独子进程来进行持久化,主进程不会进行任何 IO 操作,保证了 redis 的高性能缺点:RD...原创 2018-09-25 16:14:27 · 474 阅读 · 0 评论 -
redis并发竞争问题以及解决方案
问题解析:就是说多个更新请求已经更新了数据库,这个时候要来同步一下缓存,由于线程的异步性,可能先写数据库的请求后到缓存来同步数据,导致缓存数据出现不一致,见下图:有解决方案...原创 2018-11-22 22:38:39 · 1889 阅读 · 0 评论 -
高并发场景下的缓存+数据库双写不一致问题分析与解决方案设计
1、最初级的缓存不一致问题以及解决方案问题:先修改数据库,再删除缓存,如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据出现不一致解决思路:先删除缓存,再修改数据库,如果删除缓存成功了,如果修改数据库失败了,那么数据库中是旧数据,缓存中是空的,那么数据不会不一致,因为读的时候缓存没有,则读数据库中旧数据,然后更新到缓存中2、比较复杂的数据不一致问题分析数据发生了变更,先...原创 2018-11-22 22:05:20 · 1154 阅读 · 0 评论 -
redis架构核心面试(3)
1.如何保证Redis的高并发和高可用?redis的主从复制原理能介绍一下么?redis的哨兵原理能介绍一下么?原创 2018-11-19 22:02:38 · 704 阅读 · 0 评论 -
redis哨兵主备切换的数据丢失问题:异步复制、集群脑裂
1、两种数据丢失的情况主备切换的过程,可能会导致数据丢失(1)异步复制导致的数据丢失异步复制导致的数据丢失问题:因为master -> slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机了,此时这些部分数据就丢失了相应的解决方案:(2)脑裂导致的数据丢失脑裂,也就是说,某个master所在机器突然脱离了正常的网络,跟其他slave机器不能...原创 2018-11-19 21:47:43 · 2989 阅读 · 0 评论 -
redis的哨兵机制详解
1、哨兵的介绍sentinal,中文名是哨兵哨兵是redis集群架构中非常重要的一个组件,主要功能如下(1)集群监控,负责监控redis master和slave进程是否正常工作(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员(3)故障转移,如果master node挂掉了,会自动转移到slave node上(4)配置中心,如果故障转移发生了,通知...原创 2018-11-19 21:15:45 · 550 阅读 · 0 评论 -
redis架构核心面试题(2)
(1).redis高并发跟整个系统的高并发之间的关系?redis,你要搞高并发的话,不可避免,要把底层的缓存搞得很好mysql,高并发,做到了,那么也是通过一系列复杂的分库分表,订单系统,事务要求的,QPS到几万,比较高了要做一些电商的商品详情页,真正的超高并发,QPS上十万,甚至是百万,一秒钟百万的请求量光是redis是不够的,但是redis是整个大型的缓存架构中,支撑高并发的架构里面,...原创 2018-11-19 15:30:24 · 551 阅读 · 0 评论 -
缓存面试题(3)
1.如何保证缓存与数据库的双写一致性?答:(1)读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取出数据后放入缓存,同时返回响应(2)更新的时候,先删除缓存,然后再更新数据库下面来解释一下为什么是删除缓存而不是更新缓存的问题:...原创 2018-11-20 20:51:12 · 818 阅读 · 0 评论 -
redis缓存雪崩和缓存穿透
1.了解什么是redis的雪崩和穿透?redis崩溃之后会怎么样?系统该如何应对这种情况?如何处理redis的穿透?缓存雪崩现象:见下图缓存雪崩的事前事中事后的解决方案事前:redis高可用,主从+哨兵,redis cluster,避免全盘崩溃事中:本地ehcache缓存 + hystrix限流&降级,避免MySQL被打死事后:redis持久化,快速恢复缓存数据接下来我们再...原创 2018-11-20 19:06:25 · 1075 阅读 · 0 评论 -
redis-cluster
1.redis单master架构的容量的瓶颈问题单台redis的缓存容量毕竟有限,如果超出的话,只能使用内存淘汰清除最近最久未使用的数据了2.redis如何通过master横向扩容支撑1T+数据量3、redis的集群架构redis cluster支撑N个redis master node,每个master node都可以挂载多个slave node读写分离的架构,对于每个maste...原创 2018-11-20 17:25:13 · 478 阅读 · 0 评论 -
redis的aof和rdb原理
1.aof rewrite原理剖析:随着往redis里面写的数据越来越多,aof文件也会越来越大,但是aof文件不能无限制的大下去吧!另外一方面redis里面也不可能说无限制的存储吧!这个时候redis会采取一些淘汰策略比如LRU来删除一些数据,同样的,我们的aof文件也会定期的重写rewrite来保证与redis缓存中数据的一致性,然后把旧的aof文件给删除2.rdb可能的丢数据RD...原创 2018-11-20 15:13:02 · 713 阅读 · 0 评论 -
Redis分布式锁的正确实现方式
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。加锁代码可以看到,我们加锁就一行代码:jedis.s...原创 2019-03-19 11:48:26 · 554 阅读 · 0 评论