【java面经】Redis速记

目录

基本概念

string

hash

list

set

zset

常见问题及解决

缓存穿透

缓存击穿

缓存雪崩

Redis内存管理策略

noeviction

allkeys-lru

allkeys-random

volatile-random

volatile-ttl

Redis持久化机制

RDB快照

AOF追加文件

Redis多线程特性

Redis应用场景

缓存

消息队列

分布式锁

排行榜

实时系统

基本概念

string

基本的数据类型,存储任何类型数据包括图片,序列化对象等等,一个键最大存512MB

hash

键值对集合,string的field和value的映射表

list

字符串列表,可以头或者尾插入元素

set

string类型的无序集合,哈希表实现,O(1)

zset

类似于set,每个元素关联double类型分数,用于从小到大排序元素,成员唯一,分数可重复。

常见问题及解决

缓存穿透

缓存和数据库都没有数据,用户频繁发起请求导致数据库压力过大

解决:布隆过滤器提前过滤不存在的数据,或者对查询不存在的数据统一返回处理

缓存击穿

缓存无,数据库有数据(缓存到期)的时候,并发请求数据库查询同一数据,数据库压力过大

解决:加锁机制,延时双删策略

缓存雪崩

缓存大量数据同时过期,查询数据量巨大,数据库压力过大。

解决:优化缓存过期时间,使其分布更均匀,或者使用缓存预热机制提前加载热点数据

Redis内存管理策略

noeviction

不驱逐任何键,新写入操作就报错

allkeys-lru

移除最近少使用的键

allkeys-random

碎金移除某个键

volatile-random

设置过期时间的键中,随机删除某个键

volatile-ttl

设置过期时间的键中,先删最早过期的

Redis持久化机制

RDB快照

指定时间拍内存数据快照,保存在dump.rdb中

重启时,载入RDB文件还原数据库状态

缺点:有丢失RDB进而丢失数据的风险

AOF追加文件

每次redis执行改变数据库的命令时,该命令都会被追加到AOF文件末尾

重启时,redis通过重新执行AOF文件中的命令来重构数据集

更耐久的机制

Redis多线程特性

redis执行命令是单线程的,多线程主要用于处理网络数据的读写的协议解析,以优化整体性能。

优点:保证了数据处理的一致性,提高了系统的吞吐量和相应速度。

Redis应用场景

缓存

大幅减轻数据库压力,提高相应速度

消息队列

list数据结构实现了简单的消息队列,进行任务的异步处理

分布式锁

结合redis命令特性和事务,实现分布式环境下的锁机制,确保数据一致性

排行榜

利用Zset能够实现各类排行榜的功能(商品销量榜,游戏排行榜等等)

实时系统

由于高并发和低延迟的特性,redis可用于实时数据分析,展示系统中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/54488.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《C++移动语义:解锁复杂数据结构的高效之道》

在 C的编程世界中,移动语义是一项强大的特性,它能够在处理复杂数据结构如链表、树等时,极大地提高程序的性能和效率。理解并正确实现移动语义在这些复杂数据结构中,对于开发者来说至关重要。 一、移动语义简介 C11 引入了移动语…

【医学半监督】置信度指导遮蔽学习的半监督医学图像分割

摘要: 半监督学习(Semi-supervised learning)旨在利用少数标记数据和多数未标记数据训练出高性能模型。现有方法大多采用预测任务机制,在一致性或伪标签的约束下获得精确的分割图,但该机制通常无法克服确认偏差。针对这一问题,本文提出了一种用于半监督医学图像分割的新…

【梯度下降|链式法则】卷积神经网络中的参数是如何传输和更新的?

【梯度下降|链式法则】卷积神经网络中的参数是如何传输和更新的? 【梯度下降|链式法则】卷积神经网络中的参数是如何传输和更新的? 文章目录 【梯度下降|链式法则】卷积神经网络中的参数是如何传输和更新的?1. 什么是梯度?2.梯度…

2024-04-23 人工智能增强天基通信和传感

砺道智库2024-04-23 11:18 北京 据国家防务网4月19日报道,随着商业卫星、军事星座及其所有数据在太空中流动的数量不断增加,政府和行业运营商表示,他们正在寻求人工智能来帮助他们处理日益复杂的任务。 人工智能软件使用户能够在轨道上改变航…

饲料颗粒机全套设备有哪些机器组成

饲料颗粒机全套设备通常包括原料粉碎、混合机、制粒机、冷却器、筛分机、包装机以及配套的电气控制等多个部分组成:1、粉碎机:将各种饲料原料进行清理、去杂、破碎等预处理,确保原料的纯净度和适宜粒度,为后续加工做准备。2、混合…

【永磁同步电机(PMSM)】 5. PMSM 的仿真模型

【永磁同步电机(PMSM)】 5. PMSM 的仿真模型 1. 基于 Simulink 的仿真模型1.1 PMSM 的数学模型1.2 Simulink 仿真模型1.3 模块封装(mask)1.4 三相PMSM矢量控制仿真模型 2. Simscape 的 PMSM 模块2.1 PMSM 模块的配置2.2 PMSM 模块…

系统架构设计师:软件架构的演化和维护

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师:软件架构的演化和维护前言软件架构演化的重要性面向对象的软件架构演…

数据结构与算法学习day22-回溯算法-分割回文串、复原IP地址、子集

一、分割回文串 1.题目 131. 分割回文串 - 力扣(LeetCode) 2.思路 分割回文串可以抽象为一棵树形结构。 递归用来纵向遍历,for循环用来横向遍历,切割线(就是图中的红线)切割到字符串的结尾位置&#xf…

数据库DDL语句

目录 1. 引言 2. DDL基础知识 3. 常用DDL语句 3.1 CREATE语句 示例:创建表 3.2 ALTER语句 示例:添加列 示例:修改字段类型 3.3 DROP语句 示例:删除表 3.4 TRUNCATE语句 示例:清空表 4. DDL与DML的区别 区…

WIFI路由器的套杆天线简谈

❝本次推文简单介绍下WIFI路由器的套杆天线。 路由器天线 路由器在这个万物互联的时代,想必大家对其都不陌生。随着科技的发展,常用的路由器上的天线也越来越多,那么问题来了:天线越多,信号越好吗?路由器…

文件系统设计 - 开发文件系统 Store (上篇)

本节开始,我们将从最核心基础的文件系统进行设计实现,构建文件系统Store 一个基础的响应式Store类设计文件系统类接口小结 一个基础的响应式Store类 从Vue3 开始,Vue响应式借助Proxy重构后,整个响应式系统的应用变得非常的灵活&a…

vue2:树形控件el-tree中加载两种不同结构的数据

需求 需要在树形控件中逐级显示公司、部门以及不同部门下的项目信息。其中,公司及部门信息的结构是一致的,但是项目是另一种结构(类)。所以,树结构中需要用到两种不同结构的数据。 El-tree 主要属性 下面是一个el-…

《ChatGPT:强大的人工智能聊天机器人》

《ChatGPT:强大的人工智能聊天机器人》 一、引言 在当今科技飞速发展的时代,人工智能已经成为了各个领域的热门话题。而 ChatGPT,作为一款强大的人工智能聊天机器人,自推出以来就引起了广泛的关注和热议。它不仅能够进行自然流畅的…

浅谈Spring Cloud:认识微服务

SpringCloud就是分布式微服务架构的一站式解决方案,是微服务架构落地的多种技术的集合。 目录 微服务远程调用 Eureka注册中心 搭建Eureka Server 注册组件 服务拉取 当各种各样的服务越来越多,拆分的也越来越细,此时就会出现一个服务集…

基于mockito做单元测试

1.简介 配合断言使用(杜绝System.out)可重复执行不依赖环境不会对数据产生影响Spring的上下文环境不是必备的一般都配合mock类框架对数据库进行隔离 mock类使用场景: 要进行测试的方法存在外部依赖(DB,Redis,第三方接口),为了专注于对该方法的逻辑进行测试&#…

计算机毕业设计 社区医疗服务系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

国产游戏技术能否引领全球【终稿】

国产游戏技术能否引领全球 摘要:近年来,国产游戏行业蓬勃发展,技术水平不断提升,多款作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,中国游戏开发者在各个领域都取得了显著进步。…

MySQL高阶1919-兴趣相同的朋友

题目 请写一段SQL查询获取到兴趣相同的朋友。用户 x 和 用户 y 是兴趣相同的朋友,需满足下述条件: 用户 x 和 y 是朋友,并且用户 x and y 在同一天内听过相同的歌曲,且数量大于等于三首. 结果表 无需排序 。注意:返…

常见排序(C语言版)

1.排序的概念及其应用 1.1排序的概念 排序:​ 在计算机科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串资料依照特定排序方式排列的算法。 稳定性:假定在待排序的记录序列中&#xff…

聚观早报 | 小米三折叠手机专利曝光;李斌谈合肥投资蔚来

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 9月20日消息 小米三折叠手机专利曝光 李斌谈合肥投资蔚来 索尼PS5 Pro包装亮相 新一代Spectacles AR眼镜发布 通…