redis
爱游泳的小肥猪
没有返回值就是最好的返回值!
展开
-
redis问题
1,雪崩描述:简单来说,就是大量的key在同一时间过期,导致大量的流量打到数据库,造成压力解决:分散过期时间设置2,穿透描述:就是redis和数据都查不到数据,流量打到系统层面,把服务器搞挂解决:都查不到时,可以把key设置一个null值,加上过期时间3,击穿描述:针对热点key而言,在过期的那一瞬间,会存在较大的流量打到数据库,压力较大解决:过期时,使用setnx进行控制,如下代码示例public String get(key) { String value =原创 2021-11-02 15:54:28 · 90 阅读 · 0 评论 -
redis----set用法
简介redis的set类型是string类型数值的无序集合。set元素最大可以包含2的32次方减1个元素。由于set类型是通过hash table实现(旧版本是这样,新版本不确定是不是改用了skip list来实现),所以添加/删除/查找的时间复杂度都是O(1)。hash table有个问题,就是添加或删除的时候,伴随着长度的变化的是需要同步(获取写锁)会阻塞其他读写操作。如果当前版本不是s...转载 2019-08-06 09:36:35 · 918 阅读 · 0 评论 -
redis----list用法
1、简单介绍 redis的list类型其实就是一个每个元素都是string类型的双向链表。所以lpus...转载 2019-08-06 09:44:04 · 1895 阅读 · 0 评论 -
redis----hash用法
Redis hash 是一个String 类型的field和value的映射表 hash特别适合用于存储对象Re...转载 2019-08-06 09:49:03 · 1489 阅读 · 0 评论 -
redis----string用法
一、引言 redis五大数据类型基本的赋值和取值,其实每一种数据类型都有很多命令需要我们去学习,小编也会分几章去给大家讲解以及演示。之后的文章演示的部分,小编可能不会再截图,因为图片展示的时候有问题,这个小编也和csdn客服人员反馈过了。那么今天就先从String基本数据类型开始讲吧,希望大家跟着小编一起动...转载 2019-08-06 10:03:16 · 141 阅读 · 0 评论 -
redis总结
redis 简介简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。为什么要用 redis/为什么要用缓存...转载 2019-08-06 16:01:27 · 119 阅读 · 0 评论 -
Redis知识点总结
1.什么是redis?Redis 是一个基于内存的高性能key-value数据库。2.Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Va...原创 2019-09-19 10:05:44 · 121 阅读 · 0 评论 -
Redis项目实战,一些经验总结
背景 Redis 是一个开源的内存数据结构存储系统。 可以作为数据库、缓存和消息中间件使用。 支持多种类型的数据结构。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence)。 通过 ...原创 2019-09-19 10:07:20 · 258 阅读 · 0 评论 -
分享关于 Redis 缓存的几道典型面试题
随着系统访问量的提高,复杂度的提升,响应性能成为一个重点的关注点。而缓存的使用成为一个重点。redis 作为缓存中间件的一个佼佼者,成为了面试必问项目。本文分享一下Redis几道常见的面试题:缓存雪崩1.1 什么是缓存雪崩?如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了。我们都知道Redis不可能把所有的数据都缓存起来(内存昂贵且有限),所以Redis...原创 2019-09-20 19:08:52 · 248 阅读 · 0 评论 -
Redis ---- Stream
Redis5.0 被作者 Antirez 突然放了出来,增加了很多新的特色功能。而 Redis5.0 最大的新特性就是多出了一个数据结构Stream,它是一个新的强大的支持多播的可持久化的消息队列,作者坦言 Redis Stream 狠狠地借鉴了 Kafka 的设计。Redis Stream 的结构如上图所示,它有一个消息链表,将所有加入的消息都串起来,每个消息都有一个...原创 2019-10-10 14:50:47 · 552 阅读 · 0 评论 -
redis----Zset用法
简介 和set类型一样,sorted set也是string类型元素的集合,不同的是每个元素都会关联一个double类型的score。sorted set的实现是skip list和hash table的混合体。当元素被添加到集合中时,一个元素到score的映射被添加到hash table中,所以给定一个元素获取score的开销是O(1),另外就是score到元素的映射是被添加到...转载 2019-08-06 09:18:04 · 446 阅读 · 0 评论 -
Redis 的并发竞争问题是什么?如何解决这个问题?了解 Redis 事务的 CAS 方案吗?
面试题redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗?面试官心理分析这个也是线上非常常见的一个问题,就是多客户端同时并发写一个 key,可能本来应该先到的数据后到了,导致数据版本错了;或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。而且 redis 自己就有天然解决这个问题的 CAS 类的乐观锁方案。...原创 2019-06-21 09:33:21 · 844 阅读 · 0 评论 -
Redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?
面试题redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?面试官心理分析redis 如果仅仅只是将数据缓存在内存里面,如果 redis 宕机了再重启,内存里的数据就全部都弄丢了啊。你必须得用 redis 的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化。如果 redis 宕机重启,自动从磁盘上加载之前持久...原创 2019-06-19 09:01:24 · 1059 阅读 · 0 评论 -
Redis 的过期策略都有哪些?手写 LRU 代码实现
面试题redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?面试官心理分析如果你连这个问题都不知道,上来就懵了,回答不出来,那线上你写代码的时候,想当然的认为写进 redis 的数据就一定会存在,后面导致系统各种 bug,谁来负责?常见的有两个问题:往 redis 写入的数据怎么没了?可能有同学会遇到,在生产环境的 redis 经常会丢掉一些数据,...原创 2019-06-19 09:03:43 · 787 阅读 · 0 评论 -
Redis 都有哪些数据类型?分别在哪些场景下使用比较合适?
面试题redis 都有哪些数据类型?分别在哪些场景下使用比较合适?面试官心理分析除非是面试官感觉看你简历,是工作 3 年以内的比较初级的同学,可能对技术没有很深入的研究,面试官才会问这类问题。否则,在宝贵的面试时间里,面试官实在不想多问。其实问这个问题,主要有两个原因:看看你到底有没有全面的了解 redis 有哪些功能,一般怎么来用,啥场景用什么,就怕你别就会最简单的 KV 操...原创 2019-06-19 09:06:03 · 459 阅读 · 0 评论 -
Redis 和 Memcached 有什么区别?Redis 的线程模型是什么?为什么单线程的 Redis 比多线程的 Memcached 效率要高得多?
面试题redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?面试官心理分析这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿 redis 的时候,出了问题岂不是什么都不知道?还有可能面试官会问问你 redis...原创 2019-06-19 09:08:17 · 269 阅读 · 0 评论 -
Redis 集群模式的工作原理?在集群模式下,Redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?如何动态增加和删除一个节点?
面试题redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?面试官心理分析在前几年,redis 如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有codis,或者twemproxy,都有。有一些 redis 中间件,你读写 redis 中间件,redis 中间件负...原创 2019-06-19 09:11:48 · 1498 阅读 · 0 评论 -
什么是 redis 的雪崩、穿透和击穿?Redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 Redis 的穿透?
面试题了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?面试官心理分析其实这是问到缓存必问的,因为缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题,所以面试官一定会问你。面试题剖析缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒...原创 2019-06-19 09:18:25 · 301 阅读 · 0 评论 -
redis主从架构
Redis 主从架构单机的 redis,能够承载的 QPS 大概就在上万到几万不等。对于缓存来说,一般都是用来支撑读高并发的。因此架构做成主从(master-slave)架构,一主多从,主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发。redis replication -> 主从架构 ->...原创 2019-06-19 09:27:53 · 659 阅读 · 0 评论 -
redis 基于哨兵实现高可用
Redis 哨兵集群实现高可用哨兵的介绍sentinel,中文名是哨兵。哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能:集群监控:负责监控 redis master 和 slave 进程是否正常工作。 消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。 故障转移:如果 master node 挂掉了,会自动转移到 slave n...原创 2019-06-19 09:38:05 · 262 阅读 · 0 评论 -
如何保证 Redis 高并发、高可用?Redis 的主从复制原理?Redis 的哨兵原理?
面试题如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?面试官心理分析其实问这个问题,主要是考考你,redis 单机能承载多高并发?如果单机扛不住如何扩容扛更多的并发?redis 会不会挂?既然 redis 会挂那怎么保证 redis 是高可用的?其实针对的都是项目中你肯定要考虑的一些问题,如果你没考虑过,那确实你对...原创 2019-06-19 09:38:37 · 210 阅读 · 0 评论 -
如何保证缓存与数据库的双写一致性?
面试题如何保证缓存与数据库的双写一致性?面试官心理分析你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?面试题剖析一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求“缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求串行化,串到一个内存队列里...原创 2019-06-19 09:42:53 · 251 阅读 · 0 评论