Redis
文章平均质量分 65
程序媛格格酱
这个作者很懒,什么都没留下…
展开
-
Redis 缓存雪崩、缓存击穿、缓存污染及避免
缓存击穿(缓存失效)缓存击穿是指缓存中没有****但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。解决办法:热点数据不过期。直接将缓存设置为不过期,然后由定时任务去异步加载数据,更新缓存。 这种方式适用于比较极端的场景,例如流量特别特别大的场景,使用时需要考虑业务能接受数据不一致的时间,还有就是异常情况的处理。加互斥锁 在并发的多个请求中,只有第一个请求线程能拿到锁并执行数据库查询操作,其他的线程原创 2021-05-19 13:17:19 · 194 阅读 · 0 评论 -
Redis(八)哨兵机制
哨兵机制下面是典型的哨兵集群监控的逻辑图哨兵机制实现的功能其中监控和自动故障转移功能,使得哨兵可以及时发现主节点故障并完成转移而配置提供者和通知功能,则需要在客户端的交互中才能体现哨兵集群的组建哨兵监控Redis库 怎么监控?这是由哨兵向主库发送 INFO 命令来完成的。就像上图所示,哨兵 2 给主库发送 INFO 命令,主库接受到这个命令后,就会把从库列表返回给哨兵。接着,哨兵就可以根据从库列表中的连接信息,和每个从库建立连接,并在这个连接上持续地对从库进行监控。哨兵 1 和 3原创 2021-05-19 11:35:07 · 305 阅读 · 0 评论 -
Redis(七) 消息传递 发布订阅模式详解
什么是Redis发布订阅Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis有哪两种发布/订阅模式Redis有两种发布/订阅模式:基于频道(Channel)的发布/订阅基于模式(pattern)的发布/订阅基于基于频道(Channel)的发布/订阅、基于模式(pattern)的发布/订阅如果有某个/某些模式和这个频道匹配的话,那么所有订阅这个/这些频道的客户端也同样会收到信息。...原创 2021-05-19 11:04:34 · 174 阅读 · 0 评论 -
Redis(六)主从复制
什么是主从复制主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。主从库之间采用的是读写分离的方式。读操作:主库、从库都可以接收;写操作:首先到主库执行,然后,主库将写操作同步给从库。主从复制的作用数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。负原创 2021-05-19 10:50:00 · 121 阅读 · 0 评论 -
Redis(六)Redis事务
什么是Redis事务Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。总结说:redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令Redis 事务相关命令有哪些MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务相关的命令MULTI :开启事务,redis会将后续的命令逐个放入队列中,然后使用EXE原创 2021-05-19 09:47:27 · 110 阅读 · 0 评论 -
Redist(四)设置过期时间 内存淘汰机制
什么是tokenToken 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位如果你设置了一批key只能活一个小时,接下来的1小时后,redis怎么对这批key进行删除...原创 2021-05-19 09:29:00 · 109 阅读 · 0 评论 -
Redis学习(二)数据类型和数据结构
面试问题汇总redis有哪些数据类型 redis数据类型有哪些命令 谈谈redis的对象机制(redisObject) redis数据类型有哪些底层数据结构 为什么要设计sds? 一个字符串类型的值能存储最大容量是多少?512M 为什么会设计Stream Stream用在什么样场景 消息ID的设计是否考虑了时间回拨的问题参考博客 特别鸣谢https://pdai.tech/md/db/nosql-redis/db-redis-z-mianshi.html...原创 2021-05-18 21:51:21 · 155 阅读 · 1 评论 -
Redis入门(一) 为什么用Redis
什么是redis,为什么要使用它redis一般有哪些使用场景redis为什么快https://note.youdao.com/ynoteshare1/index.html?id=482b79e266de97c20d0bd1125b15dbab&type=note什么是Redisredis :REmote DIctionary Server(远程字典服务器)redis 是完全开源免费的,用c语言编写的一个高性能(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSql.原创 2021-05-18 19:54:36 · 138 阅读 · 0 评论 -
Redis(五)持久化机制
在学习之前学习几个问题:Redis 的持久化机制是什么?各自的优缺点?一般怎么用? Redis 过期键的删除策略有哪些 Redis 内存淘汰算法有哪些 Redis的内存用完了会发生什么?如果达到设置的上限,Redis的写命令会返回错误信息(但是读命令还可以正常返回。)或者你可以配置内存淘汰机制,当Redis达到内存上限时会冲刷掉旧的内容。 Redis如何做内存优化? Redis key 的过期时间和永久有效分别怎么设置? EXPIRE 和 PERSIST 命令 Redis 中的管道有什么用? 一次请求/原创 2021-05-14 17:05:00 · 210 阅读 · 2 评论 -
Redis——缓存穿透
缓存穿透缓存穿透就是大量请求的key根本不存在于缓存中,导致请求直接到了数据库中,根本没有经过缓存这一层我们经常会把一部分数据放在Redis中缓存,比如文章详情。这样有查询请求进来,我们可以根据文章Id直接去缓存中取数据,而不用读取数据库,这是提升性能最简单,最普遍,也是最有效的做法。一般的查询请求流程是这样的:先查缓存(有缓存的话直接返回)-> 如果缓存中没有,再去数据库查询(把数据库取出来的数据放入缓存)-> 返回数据。问题:如果现在有大量的请求进来,而且都在请求一个不存在的文章i原创 2021-05-14 21:24:17 · 338 阅读 · 7 评论