面试八股 —— Redis篇

重点:缓存 和 分布式锁


缓存(穿透,击穿,雪崩)

降级可作为系统的保底策略,适用于穿透,击穿,雪崩

1.缓存穿透

2.缓存击穿

3.缓存雪崩


缓存——双写一致性

1.强一致性业务(金融)

2.允许短暂不一致允许(大部分)

根据不同的业务提供对应的方案

(1)延时双删

避免脏数据,所以要删两次缓存,延迟双删

(2) 分布式锁

读写锁这种强一致性业务,性能低

 (3) 异步通知


缓存——持久化

RDB   ——   Redis数据备份文件,数据快照

内存记录磁盘——便于恢复


缓存——数据过期策略


缓存——数据淘汰策略

TTL(time to live)剩余时间

LRU(least recently used)最近最少使用

LFU (least frequently used) 最少频率使用


Redis分布式锁

setnex

redission

用于解决线程之间的互斥性(比如秒杀抢购,不用锁会超卖)


Redis集群方案

  • 主从复制
  • 哨兵模式
  • 分片集群


Redis单线程为什么这么快?

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

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

相关文章

mapbox-gl源码中解析style加载地图过程详解

我将结合 Mapbox GL JS 的源码示例,一步一步讲解 style 的解析和地图加载过程,帮助大家深入理解其内部机制。 Mapbox GL JS 是一个强大的 Web 地图库,利用 WebGL 技术渲染交互式地图。其核心功能之一是通过样式(style&#xff09…

瑞萨RA系列使用JLink RTT Viewer输出调试信息

引言 还在用UART调试程序么?试试JLINK的RTT Viewer吧!不需占用UART端口、低资源暂用、实时性高延时微秒级,这么好的工具还有什么理由不用了! 目录 一、JLink RTT Viewer 简介 二、软件安装 三、工程应用 3.1 SEGGER_RTT驱动包 3.2 手搓宏定义APP_PRINT 3.3 使用APP_…

MySQL 入门大全:查询语言分类

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…

1.Windows+vscode+cline+MCP配置

文章目录 1.简介与资源2.在windows中安装vscode及Cline插件1. 安装vscode2. 安装Cline插件3. 配置大语言模型3. 配置MCP步骤(windows) 1.简介与资源 MCP官方开源仓库 MCP合集网站 参考视频 2.在windows中安装vscode及Cline插件 1. 安装vscode 2. 安装Cline插件 Cline插件…

性能测试过程实时监控分析

性能监控 前言一、查看性能测试结果的3大方式1、GUI界面报告插件2、命令行运行 html报告3、后端监听器接入仪表盘 二、influxDB grafana jmeter测试监控大屏1、原理:2、linux环境中influxDB 安装和配置3、jmerer后端监听器连接influxDB4、linux环境总grafana环境搭…

【Linux我做主】浅谈Shell及其原理

浅谈Linux中的Shell及其原理 Linux中Shell的运行原理github地址前言一、Linux内核与Shell的关系1.1 操作系统核心1.2 用户与内核的隔离 二、Shell的演进与核心机制2.1 发展历程2.2 核心功能解析2.3 shell的工作流程1. 用户输入命令2. 解析器拆分指令3. 扩展器处理动态内容变量替…

可视化图解算法:链表中倒数(最后)k个结点

1. 题目 描述 输入一个长度为 n 的链表,设链表中的元素的值为ai ,返回该链表中倒数第k个节点。 如果该链表长度小于k,请返回一个长度为 0 的链表。 数据范围:0≤n≤105,0 ≤ai≤109,0 ≤k≤109 要求&am…

在线教育网站项目第四步:deepseek骗我, WSL2不能创建两个独立的Ubuntu,但我们能实现实例互访及外部访问

一、说明 上一章折腾了半天,搞出不少问题,今天我们在deepseek的帮助下,完成多个独立ubuntu24.04实例的安装,并完成固定ip,实践证明,deepseek不靠谱,浪费我2个小时时间,我们将在下面实…

CMake 保姆级教程

CMake 是一个跨平台的构建工具,用于生成适合不同平台和编译器的构建系统文件(如 Makefile 或 Visual Studio 项目文件)。 在 Windows 下使用 CMake 构建项目时,CMake 会根据 CMakeLists.txt 文件生成适合 Windows 的构建系统文件&…

zabbix数据库溯源

0x00 背景 zabbix数据库如果密码泄露被登录并新增管理员如何快速发现?并进行溯源? 本文介绍数据库本身未开启access log的情况。 0x01 实践 Mysql 数据库查insert SELECT * FROM sys.host_summary_by_statement_type where statement like %insert% 查…

Spring Boot集成PageHelper:轻松实现数据库分页功能

Spring Boot集成PageHelper:轻松实现数据库分页功能 1. 为什么需要分页? 分页是处理大数据量查询的核心技术,其重要性体现在: 性能优化:避免单次查询返回过多数据导致内存溢出或响应延迟。用户体验:前端展…

Spring Cloud之负载均衡之LoadBalance

目录 负载均衡 问题 步骤 现象 什么是负载均衡? 负载均衡的一些实现 服务端负载均衡 客户端负载均衡 使用Spring Cloud LoadBalance实现负载均衡 负载均衡策略 ​编辑 ​编辑LoadBalancer原理 服务部署 准备环境和数据 服务构建打包 启动服务 上传J…

数据无忧:自动备份策略全解析

引言 在信息化飞速发展的今天,数据已成为个人、企业乃至国家最为宝贵的资产之一。无论是日常办公文档、科研数据、客户资料,还是个人隐私信息,一旦丢失或损坏,都可能带来不可估量的损失。因此,备份文件作为数据安全的…

Latex2024安装教程(附安装包)Latex2024详细图文安装教程

文章目录 前言一、Latex2024下载二、Texlive 2024安装教程1.准备安装文件2.启动安装程序3.配置安装选项4.开始安装5.安装完成6.TeX Live 2024 安装后确认 三、Texstudio 安装教程1.准备 Texstudio 安装2.启动 Texstudio 安装向导3.选择安装位置4.等待安装完成5.启动 Texstudio6…

C++ 语法之函数和函数指针

在上一章中 C 语法之 指针的一些应用说明-CSDN博客 我们了解了指针变量&#xff0c;int *p;取变量a的地址这些。 那么函数同样也有个地址&#xff0c;直接输出函数名就可以得到地址&#xff0c;如下&#xff1a; #include<iostream> using namespace std; void fun() …

centos【rockylinux】安装【supervisor】的注意事项【完整版】

重新加载 systemd 配置推荐使用pip的方式安装 pip install supervisor 第二步&#xff1a;添加supervisord.conf配置文件 [unix_http_server] file/tmp/supervisor.sock ; UNIX socket 文件&#xff0c;supervisorctl 会使用 ;chmod0700 ; socket 文件的…

Spring Cloud Gateway 使用ribbon以及nacos实现灰度发布

1、Spring Cloud Gateway配置文件 gateway:userId-limit: 1000 agent-bff:ribbon:NFLoadBalancerRuleClassName: com.anlitech.gateway.gray.GrayRule operator-bff:ribbon:NFLoadBalancerRuleClassName: com.anlitech.gateway.gray.GrayRule spring:cloud:gateway:locator:en…

关于“碰一碰发视频”系统的技术开发文档框架

以下是关于“碰一碰发视频”系统的技术开发文档框架&#xff0c;涵盖核心功能、技术选型、开发流程和关键模块设计&#xff0c;帮助您快速搭建一站式解决方案 --- 随着短视频平台的兴起&#xff0c;用户的创作与分享需求日益增长。而如何让视频分享更加便捷、有趣&#xff0c…

基于django+vue的购物商城系统

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.8数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 系统首页 热卖商品 优惠资讯 个人中心 后台登录 管理员功能界面 用户管理 商品分类管理…

Ardunio 连接OLED触摸屏(SSD1106驱动 4针 IIC通信)

一、准备工作 1、硬件 UNO R3 &#xff1a;1套 OLED触摸屏&#xff1a;1套 导线诺干 2、软件 arduino 二、接线 UNO R3OLED5VVCCGNDGNDA5SCLA4SDA 脚位如下图所示&#xff1a; Uno R3脚位图 触摸屏脚位图 查阅显示屏的驱动规格&#xff1a;通常显示屏驱动芯片有SSD1306,SH110…