上一页 1 ··· 4 5 6 7 8 9 10 11 下一页
摘要: 这个也是线上非常常见的一个问题,就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了。 而且redis自己就有天然解决这个问题的CAS类的乐观锁方案 如果更旧,就不能用旧的数据覆盖新的数据 阅读全文
posted @ 2021-04-16 10:17 双城孙宇 阅读(94) 评论(0) 推荐(0)
摘要: 你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 最经典的缓存+数据库读写的模式,cache aside pattern (1)读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取出数据后放入缓存,同时返回响应 (2)更新的 阅读全文
posted @ 2021-04-16 09:57 双城孙宇 阅读(100) 评论(0) 推荐(0)
摘要: 缓存雪崩发生的现象 缓存雪崩的事前事中事后的解决方案 事前:redis高可用,主从+哨兵,redis cluster,避免全盘崩溃 事中:本地ehcache缓存 + hystrix限流&降级,避免MySQL被打死 事后:redis持久化,快速恢复缓存数据 统没死,对用户来说,就是可能点击几次刷不出来 阅读全文
posted @ 2021-04-15 20:58 双城孙宇 阅读(63) 评论(0) 推荐(0)
摘要: 待补充。。。 阅读全文
posted @ 2021-04-15 16:44 双城孙宇 阅读(54) 评论(0) 推荐(0)
摘要: #1、RDB和AOF两种持久化机制的介绍 RDB持久化机制,对redis中的数据执行周期性的持久化 AOF机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在redis重启的时候,可以通过回放AOF日志中的写入指令来重新构建整个数据集 如果我们想要redis仅仅作为纯内存 阅读全文
posted @ 2021-04-15 16:28 双城孙宇 阅读(585) 评论(0) 推荐(0)
摘要: 就是如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了,redis高可用 redis高并发:主从架构,一主多从,一般来说,很多项目其实就足够了,单主用来写入数据,单机几万QPS,多从用来查询数据, 阅读全文
posted @ 2021-04-15 16:08 双城孙宇 阅读(278) 评论(0) 推荐(0)
摘要: (1)设置过期时间 我们set key的时候,都可以给一个expire time,就是过期时间,指定这个key比如说只能存活1个小时?10分钟?这个很有用,我们自己可以指定缓存到期就失效。 如果假设你设置一个一批key只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的? 答 阅读全文
posted @ 2021-04-14 16:39 双城孙宇 阅读(93) 评论(0) 推荐(0)
摘要: (1)string 这是最基本的类型了,没啥可说的,就是普通的set和get,做简单的kv缓存 (2)hash 这个是类似map的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在redis里,然后每次读写缓存的时候,可以就操作hash里的某个字段。 k 阅读全文
posted @ 2021-04-14 15:16 双城孙宇 阅读(129) 评论(0) 推荐(0)
摘要: (1)redis和memcached有啥区别 1)Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这 阅读全文
posted @ 2021-04-14 13:37 双城孙宇 阅读(118) 评论(0) 推荐(0)
摘要: (1)在项目中缓存是如何使用的? 这个,你结合你自己项目的业务来,你如果用了那恭喜你,你如果没用那不好意思,你硬加也得加一个场景吧 (2)为啥在项目里要用缓存呢? 用缓存,主要是俩用途,高性能和高并发 1)高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作mysql,半天查 阅读全文
posted @ 2021-04-14 09:57 双城孙宇 阅读(426) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 下一页