【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,一经查实,立即删除!

相关文章

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

摘要: 半监督学习(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 模块…

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

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

WIFI路由器的套杆天线简谈

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

浅谈Spring Cloud:认识微服务

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

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

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

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眼镜发布 通…

《AI系统:原理与架构》于华为HC大会2024正式发布

2024年9月21日,《AI系统:原理与架构》新书发布会在上海世博馆华为HC大会顺利举办。本书由华为昇腾技术专家、B站AI科普博主ZOMI酱和哈工大软件学院副院长苏统华教授联合编写,是领域内AI系统方面填补空白的重磅之作。 发布会上,《A…

Spring:项目中的统一异常处理和自定义异常

介绍异常的处理方式。在项目中,都会进行自定义异常,并且都是需要配合统一结果返回进行使用。 1.背景引入 (1)背景介绍 为什么要处理异常?如果不处理项目中的异常信息,前端访问我们后端就是显示访问失败的…

JavaScript发送邮件:实现前端触发的教程?

JavaScript发送邮件的方式?怎么使用JavaScript发信? 无论是用户反馈、联系表单还是自动通知,前端触发的邮件发送功能都能极大地提升用户体验。AokSend将详细介绍如何通过JavaScript发送邮件,实现前端触发的邮件发送功能。 JavaS…

跨站请求伪造(CSRF)漏洞详解

免责申明 本文仅是用于学习检测自己搭建的DVWA靶场环境有关CSRF的原理和攻击实验,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其所在国家地区相关法…

ubuntu24安装vivado24(安装并解决若干错误)

目录 安装方法:问题1:解决办法: 问题2:解决方法: 安装完成: 安装方法: 注意:内存最好预留80G空闲的。 安装好大小: 安装依赖库: sudo apt-get update sud…

计算机网络17——IM聊天系统——客户端核心处理类框架搭建

目的 拆开客户端和服务端,使用Qt实现客户端,VS实现服务端 Qt创建项目 Qt文件类型 .pro文件:配置文件,决定了哪些文件参与编译,怎样参与编译 .h .cpp .ui:画图文件 Qt编码方式 Qt使用utf-8作为编码方…

鸿蒙 WebView 如何 Debug

前置: hdc chrome //----------------------------------------------------------------------------------------------- hdc shell cat /proc/net/unix | grep devtools 0: 00000002 0 10000 1 1 81134005 webview_devtools_remote_62479exit执行&…

vulnhub(12):bob 1.0.1(gpg文件解密)

端口 nmap主机发现 nmap -sn 192.168.72.0/24 ​ Nmap scan report for 192.168.72.169 Host is up (0.00020s latency). ​ 169是新出现的机器,他就是靶机 nmap端口扫描 nmap -Pn -sV 192.168.72.169 -p- --min-rate 10000 -oA nmap/scan 扫描开放端口保存到 nmap…