前言 上一篇[面试官问我,使用Dubbo有没有遇到一些坑?我笑了。]之后,又有一位粉丝和我说在面试过程中被虐了.鉴于这位粉丝是之前肥朝的老粉丝,而且周一又要开启新一轮的面试,为了回馈他长期以来的支持,所以连夜写了本篇,希望能对他接下来的面试有所帮助. 真实案例Redis分布式锁的正确姿势 据肥朝了解,很多同学在用分布式锁时,都是直接百度搜索找一个Redis分布式锁工具类就直接用了.关键是该工具类中还充斥着很多System.out.println...
时隔多日,小菜鸡终于接到阿里的面试通知,屁颠屁颠的从上海赶到了杭州。经过半个小时的厮杀:自我介绍hashMap和ConcurrentHashMap区别jdk中锁的实现原理volatile的使用场景threadLocal怎么实现?什么时候会用到?面试官终于把考察点转到了redis上面,这是小菜鸡特意准备过的。面试官:我看你简历提到xxx项目使用了redis小弱鸡:嗯,因为xxxx的性能问题,经过排查之后,发现性能瓶颈在数据库上面,所以引入了redis面试官:行,那你...
Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到。Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点。 介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。 传统数据库遵循 ACID 规则。而 Nosql(Not Only SQL 的缩写,是对不同于传...
1 面试题Redis的过期策略都有哪些?内存淘汰机制都有哪些?手写一下LRU代码实现?2 考点分析1)我往redis里写的数据怎么没了?我们生产环境的redis怎么经常会丢掉一些数据?写进去了,过一会儿可能就没了。我的天,同学,你问这个问题就说明redis你就没用对啊。redis是缓存,你给当存储了是吧?啥叫缓存?用内存当缓存。内存是无限的吗,内存是很宝贵而且是有限的,磁盘是廉价而且是大量的。可能一台机器就几十个G的内存,但是可以...
是数据结构而非类型 很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义。redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们按照合理的格式解码后,可以变成一个字符串,整数或对象,此时才具有数据类型。 这一点必须要记住。所以任何东西只要能转化成字节数组(byte[])的,都可以存到redis里。管你是字符串、数字、对象、图片、声音、视频、还是文件,只要...
1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因...
面试原题 一般实现分布式锁都有哪些方式?使用 Redis 如何设计分布式锁?使用 zk 来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高? 面试官心理分析 其实一般问问题,都是这么问的,先问问你 zk,然后其实是要过度到 zk 关联的一些问题里去,比如分布式锁。因为在分布式系统开发中,分布式锁的使用场景还是很常见的。面试题剖析 Redis 分布式锁 官方叫做 RedLock 算法,是 redis 官方支持的分布式锁算法。 这个分布...
Redis有5种数据类型:字符串、哈希表、列表、集合、有序集合。这5种数据类型由8种数据结构具体实现。Redis是C语言开发的。C语言的字符串,本质是一个char字符数组,且最后一个元素是字符$ \backslash 0 $,比如字符串$Hi$在内存是字符数组$[H,i,\backslash 0]$。 C语言的字符串有三个缺点:第一,字符串不保存长度信息,如果要创建一个字符串,通常是先创建一个足够大的字符数组,比如char[1024]或者char*动态分配内存存储字符串,...
哨兵+复制+事务+集群+持久化 一、Redis支持哪几种数据类型?支持多种类型的数据结构 1.string:最基本的数据类型,二进制安全的字符串,最大512M。 2.list:按照添加顺序保持顺序的字符串列表。 3.set:无序的字符串集合,不存在重复的元素。 4.sorted set:已排序的字符串集合。 5.hash:key-value对的一种集合。二、Redis主要有哪些功能? 1、哨兵(Sentinel)和复制(Replication) Redis服务器毫无征兆的罢工是个麻烦事,如何保...
导读在程序员面试过程中Redis相关的知识是常被问到的话题。作为一名在互联网技术行业打击过成百上千名的资深技术面试官,总结了面试过程中经常问到的问题。十分值得一读。Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就...
Redis支持哪几种数据类型? 支持多种类型的数据结构 1.string:最基本的数据类型,二进制安全的字符串,最大512M。 2.list:按照添加顺序保持顺序的字符串列表。 3.set:无序的字符串集合,不存在重复的元素。 4.sorted set:已排序的字符串集合。 5.hash:key-value对的一种集合。 Redis主要有哪些功能? 1.哨兵(Sentinel)和复制(Replication) Redis服务器毫无征兆的罢工是个麻烦事,如何保证备份的机器是原始服务器的完整备份...
前言 回顾前面:从零单排学Redis【青铜】从零单排学Redis【白银】从零单排学Redis【黄金】从零单排学Redis【铂金一】从零单排学Redis【铂金二】Redis今天来分享一下Redis几道常见的面试题:如何解决缓存雪崩?如何解决缓存穿透?如何保证缓存与数据库双写时一致的问题?一、缓存雪崩 1.1 什么是缓存雪崩? 回顾一下我们为什么要用缓存(Redis): 为什么要缓存现在有个问题,如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据...
1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因...
花了大量时间整理了这套Redis面试题 首发50题,绝无仅有,从入门到精通 从基础,高级知识点,再到集群,运维,方案… 弄明白了这些题可以说可以成为面霸了 面试官都得折服,Redis学得怎么样,都来检验下吧 1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可...
面试原题 一般实现分布式锁都有哪些方式?使用 redis 如何设计分布式锁?使用 zk 来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高? 面试官心理分析 其实一般问问题,都是这么问的,先问问你 zk,然后其实是要过度到 zk 关联的一些问题里去,比如分布式锁。因为在分布式系统开发中,分布式锁的使用场景还是很常见的。 面试题剖析 redis 分布式锁 官方叫做 RedLock 算法,是 redis 官方支持的分布式锁算法。 这个分...