Redis
疾行的灬蜗牛
邮箱spankingsnail@163.com
有问题可以随时私信邮箱,有错误欢迎指正,有技术方面的也欢迎一起讨论交流,共同进步
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis进阶-----Redis线程模型
1.Redis线程模型Redis内部使用文件事件处理器file event handler,这个文件事件处理器是单线程的所以redis才叫做单线程的模型。它采用IO多路复用机制同时监听多个socket,将产生事件的socket压入到内存队列中,事件分派器根据socket上的事件类型来选择对应的事件处理器来进行处理。文件事件处理器包含4个部分:1.多个socket2.IO多路复用程序3.文...原创 2020-03-25 22:24:15 · 278 阅读 · 0 评论 -
Redis进阶-----缓存雪崩、缓存穿透、缓存击穿
缓存雪崩大量的缓存在同一时间同时失效,造成大量请求落在了数据库上,导致数据库负载过高或者直接死掉。解决办法:1.在存数据的时候,把key的失效时间加一个随机值即可。setRedis(Key,value,time + Math.random() * 10000)2.请求到系统时,先检查本地的ehcache缓存,没查到之后再到redis中查询,二者都不存在,再进入数据库。3.使用限流组件...原创 2020-03-25 22:22:36 · 181 阅读 · 0 评论 -
Redis进阶-----LRU算法
前言首先,Redis的过期策略分为定期删除+惰性删除。定期删除:默认100ms随机抽查一些过期的key将其删除即可。惰性删除:当查询key时, if (key 过期)? 删除key且不返回 :正常执行;为什么不扫描全部的key?如果对所有的key进行扫描,那就相当于执行了一次全包扫描,性能是非常低的。1.Redis提供的LRU算法noevivtion:内存不足以容纳新写入的数据时,直...原创 2020-03-25 22:21:45 · 288 阅读 · 0 评论 -
Redis进阶-----Redis高可用
1.哨兵集群哨兵+主从。一主两从。 +----+ | M1 | | S1 | +----+ |+----+ | +----+| R2 |----+----| R3 || S2 | | S3 |+----+ +----+当Master宕机后,s1和s2在认定之后,会通...原创 2020-03-25 22:20:33 · 381 阅读 · 1 评论 -
Redis进阶-----RDB、AOF持久化
1.Redis是怎么实现持久化的?服务主从数据如何进行交互RDB:用来进行全量持久化。适合做冷备。默认5分钟生成一次。AOF:用来进行增量持久化。适合做热备。默认1秒生成一次。写入效率高,有fsysn操作,每秒向磁盘写入数据,类似于mysql的binlog。Redis在重启时会使用RDB持久化文件来重构内存,使用AOF来重放近期的操作。RDB的恢复效率要比AOF快。如果开启AOF且存在A...原创 2020-03-25 22:14:49 · 197 阅读 · 0 评论 -
Redis基础-----实现消息队列和发布订阅功能
1.Redis做异步队列使用list结构,在一侧使用rpush生产消息,另一侧使用lpop消费消息。如果rpop为0,就sleep一会再进行。blpop可以在消费不到消息时,阻塞list直到有消息进入。使用pub/sub主题订阅模式,可以实现1:N的消息队列。但是消费者如果下线,生产的消息会丢失。2.Redis实现延时队列使用SortedSet,消息内容作为key,时间戳作为score,...原创 2020-03-25 22:11:45 · 431 阅读 · 0 评论 -
Redis基础-----基本概念及数据类型
0.Redis和Memcached的区别memcache:仅支持String类型。没有原生的集群模式。使用多核,在处理100K以上数据时更有优势。Redis:支持多种数据结构,有更丰富的数据操作。用户群体庞大,稳定性高。支持Cluster模式。1.Redis的数据类型string最常规的kv存储,value最大存储512M。缓存配置信息,缓存常用查询的字段;共享用户session,利用...原创 2020-03-25 22:10:20 · 159 阅读 · 0 评论
分享