面试实战题-Redis

redis

redis可以存多大的数据

Strings类型:一个String类型的value最大可以存储512M Lists类型:list的元素个数最多为2^32-1个,也就是4294967295个。 Sets类型:元素个数最多为2^32-1个,也就是4294967295个。 Hashes类型:键值对个数最多为2^32-1个,也就是4294967295个。

Redis--各个数据类型最大存储量_redis数据类型最大存储数据量-CSDN博客

缓存问题解决

1、缓存击穿: 分布式锁 2、缓存穿透:布隆过滤器 3、缓存雪崩:大规模的缓存失效采用分散过期时间来解决;而针对缓存服务宕机的情况,我们可以采用分布式集群来实现缓存服务

缓存相关问题及解决方式_缓存安全问题怎么解决-CSDN博客

redis  SortedSet 数据结构

跳表

https://www.cnblogs.com/WJ5888/p/4516782.html  Redis的SortedSet为什么使用跳表而不使用红黑树?_redis,它为什么用跳表而不用红黑树来实现集合和列表类型-CSDN博客 

redis字符串数据结构

简单动态字符串(Simple Dynamic String),简称SDS

redis字符串的实现_redis的字符串的实现-CSDN博客

redis的Hash数据结构以及扩容流程

1、当 hashtable 中元素的个数等于数组的长度时,就会开始扩容,缩容条件是元素个数少于数组长度的 10%. 2、渐进式 rehash,调用方可以在dict做插入,删除,更新的时候执行dictRehash(),最小化数据迁移的代价。

https://juejin.im/post/5cfe6383e51d45599e019d8f (简要介绍) Redis hash实现详解 - 简书 (源码解析)

Redis集群几种方式

● 主从复制,Master宕机后不影响Slave的读,但该集群不再提供对Redis的写入功能 ● 哨兵,哨兵模式是建立在主从模式的基础上,当Master节点宕机之后,哨兵会从Slave节点中选择一个节点作为Master,并修改它们的配置文件,使其他的Slave指向新的Master.但哨兵无法对Slave进行自动故障转移 ● 集群,所有的节点都是主从模式,其中Slave不提供服务,只提供备用。最少三主三从构成一个集群

这次一定要教会你搭建Redis集群和MySQL主从同步(非Docker)

Redis五种数据结构

List:整体上quicklist就是一个双向链表结构. 每个quicklist节点就是一个ziplist,具备压缩列表的特性。 Hash:一种是ziplist,上面已经提到过。当存储的数据超过配置的阀值时就是转用hashtable的结构

redis的五种数据结构原理分析_redis kv结构和list结构,哪种效率高?-CSDN博客

Redis中Set和List区别

list集合的值不具有唯一性,双向链表实现 set集合的值具有唯一性,HashTable实现(只有key)

Redis 的set集合使用及set集合和list列表的区别_redis list和set的区别-CSDN博客

各个数据结构使用场景

String:普通的key-value,计数器,保存图片二进制 Hash:存储用户、商品信息,hgetall可以直接取到全部的属性数据 List:push+pop命令实现消息队列,twitter的关注列表,粉丝列表都可以用list结构来实现。 Set:交差并集求共同好友 Sorted Sets:排行榜

https://www.cnblogs.com/ottll/p/9470480.html

redis过期机制以及内存淘汰策略

Redis中同时使用了惰性过期和定期过期两种过期策略。 noeviction:当内存不足以容纳新写入数据时,新写入操作会报错。 allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。 allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。 volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key。 volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key。 volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除。 Redis4.0加入了LFU(least frequency use)淘汰策略,包括volatile-lfu和allkeys-lfu,通过统计访问频率,将访问频率最少,即最不经常使用的KV淘汰。

Redis的过期策略和内存淘汰策略 - 简书

redis面试题汇总

持久化策略 数据结构

Redis面试连环问,快看看你能走到哪一步!

Redis 和 Memcached 的区别有哪些?

● Memcached 不支持持久化存储,重启时,数据被清空。 ● Redis 支持持久化存储,重启时,可以恢复已持久化的数据。 

http://svip.iocoder.cn

redis线程模型

异步非阻塞IO,多路复用

http://svip.iocoder.cn

redis单线程为什么这么快

纯内存操作 异步非阻塞 单线程避免线程上下文切换

http://svip.iocoder.cn

主从、哨兵、集群的区别

主从模式:备份数据、负载均衡,一个Master可以有多个Slaves。 sentinel发现master挂了后,就会从slave中重新选举一个master。 cluster是为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器。 sentinel着眼于高可用,Cluster提高并发量。

https://zhuanlan.zhihu.com/p/62947738

缓存读写策略

1.Cache Aside 是我们在使用分布式缓存时最常用的策略,你可以在实际工作中直接拿来使用。2.Read/Write Through 和 Write Back 策略需要缓存组件的支持,所以比较适合你在实现本地缓存组件的时候使用; 3.Write Back 策略是计算机体系结构中的策略,不过写入策略中的只写缓存,异步写入后端存储的策略倒是有很多的应用场景。

13 | 缓存的使用姿势(一):如何选择缓存的读写策略?-高并发系统设计40问-极客时间

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值