redis
文章平均质量分 94
韩zj
android开发
springBoot开发
展开
-
Redis面试-高频常考30题(面试突击,建议收藏)
跳表的时间复杂度(时间复杂度是O(logN))跳表的空间复杂度(空间复杂度是O(N))原创 2023-06-02 17:18:17 · 614 阅读 · 0 评论 -
Redis7实战加面试题-高阶篇(Redis为什么快?高性能设计之epoll和IO多路复用深度解析)
4种组合方式:1.同步阻塞:服务员说快到你了,先别离开我后台看一眼马上通知你。客户在海底捞火锅前台干等着,啥都不干。2.同步非阻塞:服务员说快到你了,先别离开。客户在海底捞火锅前台边刷抖音边等着叫号3.异步阻塞:服务员说还要再等等,你先去逛逛,一会儿通知你。客户怕过号在海底捞火锅前台拿着排号小票啥都不干,一直等着店员通知4.异步非阻塞:服务员说还要再等等,你先去逛逛,一会儿通知你。拿着排号小票+刷着抖音,等着店员通知。原创 2023-06-02 17:08:11 · 744 阅读 · 0 评论 -
Redis7实战加面试题-高阶篇(Redlock算法和底层源码分析)
当前文档源码,接上一篇博客逐步深入,引入Redlock。原创 2023-06-02 13:44:57 · 708 阅读 · 0 评论 -
Redis7实战加面试题-高阶篇(手写Redis分布式锁)
1.synchronized,单机版oK,上分布式死翘翘2.nginx分布式微服务单机锁不行3.取消单机锁,上redis分布式锁setnx只加了锁,没有释放锁,出异常的话,可能无法释放锁,必须要在代码层面finally释放锁宕机了,部署了微服务代码层面根本没有走到finally这块,没办法保证解锁,这个key没有被删除,需要有lockKey的过期时间设定为redis的分布式锁key,增加过期时间此外,还必须要setnx+过期时间必须同—行。原创 2023-05-31 16:24:41 · 946 阅读 · 0 评论 -
Redis7实战加面试题-高阶篇(布隆过滤器BloomFilter,缓存预热+缓存雪崩+缓存击穿+缓存穿透)
1.现有50亿个电话号码,现有10万个电话号码,如何要快速准确的判断这些电话号码是否已经存在?2.判断是否存在,布隆过滤器了解过吗?3.安全连接网址,全球数10亿的网址判断4.黑名单校验,识别垃圾邮件5.白名单校验,识别出合法用户进行后续处理是什么:由一个初值都为零的bit数组和多个哈希函数构成,用来快速判断集合中是否存在某个元素设计思想:设计:减少内存占用。方式:不保存数据信息,只是在内存中做一个是否存在的标记flag布隆过滤器是—种类似set的数据结构,只是统计结果在巨量数据下有点小瑕原创 2023-05-30 15:15:24 · 2164 阅读 · 0 评论 -
Redis7实战加面试题-高阶篇(案例落地实战bitmap/hyperloglog/GEO)
面试题:抖音电商直播,主播介绍的商品有评论,1个商品对应了1系列的评论,排序+展现+取前10条记录用户在手机App上的签到打卡信息:1天对应1系列用户的签到记录,新浪微博、钉钉打卡签到,来没来如何统计?应用网站上的网页访问信息:1个网页对应1系列的访问点击,淘宝网首页,每天有多少人浏览首页?你们公司系统上线后,说一下UV、PV、DAU分别是多少?记录对集合中的数据进行统计:在移动应用中,需要统计每天的新增用户数和第2天的留存用户数;原创 2023-05-29 09:34:45 · 708 阅读 · 0 评论 -
Redis7实战加面试题-高阶篇(Redis线程与IO多路复用,BigKey,缓存双写)
面试题:Redis为什么选择单线程?这种问法其实并不严谨,为啥这么说呢?Redis的版本很多3.x、4.x、6.x,版本不同架构也是不同的,不限定版本问是否单线程也不太严谨。1 版本3.x ,最早版本,也就是大家口口相传的redis是单线程。2 版本4.x,严格意义来说也不是单线程,而是负责处理客户端请求的线程是单线程,但是开始加了点多线程的东西(异步删除)。3 2020年5月版本的6.0.x后及2022年出的7.0版本后,告别了大家印象中的单线程,用一种全新的多线程来解决问题。原创 2023-05-26 15:48:55 · 1304 阅读 · 1 评论 -
Redis7实战加面试题-基础篇(Redis复制(replica),Redis哨兵(sentinel),Redis集群(cluster))
就是主从复制,master以写为主,Slave以读为主。当master数据变化的时候,自动将新的数据异步同步到其它slave数据库。能干嘛:读写分离,容灾恢复,数据备份,水平扩容支撑高并发1.配从(库)不配主(库)2.权限细节master如果配置了requirepass参数,需要密码登陆,那么slave就要配置masterauth来设置校验密码,否则的话master会拒绝slave的访问请求。原创 2023-05-25 17:06:54 · 952 阅读 · 0 评论 -
Redis7实战加面试题-基础篇(Redis持久化,Redis事务,Redis管道,Redis发布订阅)
开启:以MULTI开始一个事务入队:将多个命令入队到事务中,接到这些命令并不会立即执行,而是放到等待执行的事务队列里面执行:由EXEC命令触发事务。原创 2023-05-24 16:11:45 · 558 阅读 · 0 评论 -
Redis7实战加面试题-基础篇(Redis10大数据类型)
Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案。Redis能干嘛?原创 2023-05-24 11:25:29 · 718 阅读 · 0 评论