redis相关知识记录

redis基本数据类型

Redis⽀持五种主要数据结构:字符串(Strings)、列表(Lists)、哈希表(Hashes)、集合(Sets)和有序集合(Sorted Sets)。这些数据结构为开发者提供了灵活的数据操作⽅式,满⾜了不同场景下的数据存储需求。
字符串(Strings):最基本的数据类型,可以包含任何数据,如数字、字符串、⼆进制数据等。在Redis中,字符串是⼆进制安全的,这意味着它们可以有任何⻓度,并且不会因为包含空字符⽽被截断。
列表(Lists):简单的字符串列表,按照插⼊顺序排序。你可以添加⼀个元素到头部(左边)或者尾部(右边)。
哈希表(Hashes):是键值对的集合,是字符串类型的字段和值的映射表。适合存储对象。
集合(Sets):是字符串类型的⽆序集合。它是通过哈希表实现的,可以做到添加、删除、查找的时间复杂度都是O(1)。
有序集合(Sorted Sets):和Sets相似,但每个字符串元素都会关联⼀个浮点数类型的分数。元素的分数⽤来排序,如果两个成员有相同的分数,那么他们的排名按照字典序计算

 Redis的持久化机制

RDB(Redis DataBase) :存的是数据的2进制文件,恢复快。备份间隔最少也要5分钟,也就是最少丢失5分钟数据。

AOF(Append Of File) :存的是指令文件,恢复慢(需要一条一条执行指令),最多丢失一秒的数据。文件体积较大、性能较差

AOF+RDB : RDB 和 AOF 两种方式也可以同时使用,在这种情况下,如果 redis 重启的话,则会优先采用 AOF 方式来进行数据恢复,这是因为 AOF 方式的数据恢复完整度更高。

下图是生成的对应的文件。

 

缓存雪崩

缓存中的大量key同时失效,导致大量的流量请求到达db中,导致db负载压力过大

解决方式:让key不在同一时间失效,分散开来

缓存穿透

大量的请求同时访问一个根本不存在的key,导致大量流量走到db。

解决方式:设置为null或者使用布隆过滤器判断是否存在该key

缓存击穿

大量的请求同时访问一个过期的key,导致大量流量走到db。

解决方法:加分布式锁

当redis作为db的热点数据时先写DB?还是先写redis?

情景一:先写redis或先写db,不适用场景为当我们项目中有大量的写流量的时候

情景二:先删redis或先删db,不适用的场景为当redis中的数据没有过期时间的时候

情景三:延迟双删,不使用的场景为像秒杀系统这种频繁去修改数据和要求数据强一致的场景

情景四:异步同步,根据mysql的binglog发送消息,在消费消息的时候更新redis,不适用的场景为redis没有过过期时间

分布式锁

为甚要用分布式锁?

普通的锁只能锁单台机器,无法解决在多台机器对于共享资源的并发问题。

如何建立一个分布式锁?

setnx,并设置过期时间,看门狗自动续约。

redis架构

集群模式

新增节点:一致性hash 

数据分布不均匀:虚拟节点

主从模式

全量复制:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UNI_App平台调试指南 debug(十五)

App平台调试指南 debug 常规开发里,在 HBuilderX 的运行菜单里运行 App,手机端的错误或 console.log 日志信息会直接打印到控制台。 如果需要更多功能,比如审查元素、打断点 debug,则需要启动调试模式。自 HBuilderX 2.0.3+ 版本起开始支持 App 端的调试。 #打开调试窗口…

浅谈三车平台车型对比功能实用奖-竞品分析

目录: 一、项目背景 二、竞品概述 三、竞品目标功能对比 3.1、车型对比入口位置 3.2、车型对比首页 3.3、添加/删除车型功能 3.4、选择车型后功能对比 3.5、配置对比的功能 四、总结 一、项目背景 在汽车购买过程中,消费者经常面临着选择困难&…

腰肌筋膜炎最好的治疗方法

腰部疼痛是腰肌筋膜炎的主要症状,这种疼痛可能是隐痛、酸痛或肿胀痛,且疼痛可能呈持续性或间歇性。在长时间站立、坐姿、弯腰或腰部受寒着凉后,疼痛通常会加重。疼痛可能会扩散到腰部的其他区域,甚至可能影响到臀部或大腿后侧。疼…

【CORS 报错】跨域请求问题:CORS 多种环境下的解决方案

🔥 个人主页:空白诗 文章目录 一、CORS错误的常见原因二、解决方案1. Vue3 Vite项目下的解决方案创建Vue3 Vite项目配置Vite的代理发送请求 2. jQuery项目下的解决方案使用CORS请求头使用JSONP 3. 其他环境下的解决方案使用服务器端代理设置CORS头使用…

推荐一款功能强大的 GPT 学术优化开源项目GPT Academic:学术研究的智能助手

今天,我将向大家介绍一个强大的开源项目—GPT Academic,它或许正是你一直在寻找的理想工具。 已一跃成为 60.4k Star 的热门项目 GPT Academic 目前在 GitHub 上已经揽获了 60.4k 的 Star,这不仅反映了它的受欢迎程度,更证明了它…

汇川伺服 (5)直线驱动器功能

一、直线驱动器 流程 电机参数 设置编码器 设置过载保护线 相序辨识 角度辨识

Android使用AndServer在安卓设备上搭建服务端(Java)(Kotlin)两种写法

一直都是通过OkHttp远程服务端进行数据交互,突发奇想能不能也通过OkHttp在局域网的情况下对两个安卓设备或者手机进行数据交互呢? 这样一方安卓设备要当做服务端与另一个安卓设备通过OkHttp进行数据交互即可 当然还可以通过 socket 和 ServerSocket 通…

【简历】兰州某大学一本硕士:面试通过率基本是为0

注:为保证用户信息安全,姓名和学校等信息已经进行同层次变更,内容部分细节也进行了部分隐藏 简历说明 这是一个一本硕士的Java简历,那这个简历因为学校本身,它是一个一本的硕士,我们一般认为这一本硕士&a…

北极花APP携“项目协作”等新功能 亮相2024年生物多样性学术会议(7.14-15)

7月14-15日,由中国环境科学研究院等单位共同主办的2024年生物多样性学术会议在河北雄安召开。北极花创始人胡理乐教授受邀参加此次会议,并做专题报告,分享《北极花APP:数智赋能生物多样性监测与保护》。 胡教授将在会议上介绍北极…

设计云桌面用虚拟化行不行?

信息化日益深入发展,企业和组织对于灵活、高效且安全的办公环境需求愈发迫切。云桌面作为一种新兴的解决方案,凭借其虚拟化技术的优势,正在逐步改变传统的设计办公模式。 那么,设计云桌面采用虚拟化技术到底行不行?随…

SAP HCM 如何知道标准程序有自定义增强代码 Configure Debugger Layer

导读 INTRODUCTION Configure Debugger Layer :今天分享下我在处理HCM业务中,如何通过debug的Configure Debugger Layer找到标准程序中的客制化的代码?也许在网上查看到很多找badi的方法或者其他的办法,但是这些办法比较繁琐&…

【k8s部署elasticsearch】k8s环境下安装elasticsearch集群和kibana

文章目录 简介一.条件及环境说明二.需求说明三.实现原理及说明四.详细步骤4.1.规划节点标签4.2.创建三个statefulset和service headless配置4.3.创建service配置 五.安装kibana六.调整索引分区七.安装说明 简介 k8s集群中搭建有elasticsearch服务一般都会用到pvc,但…

Unity AssetsBundle 详解

文章目录 1.AssetBundle 概念2.AssetBundle 优势3.AssetBundle 特性4.AssetBundle 使用流程4.1 分组4.2 打包4.3 加载包4.4 加载资源4.5 卸载资源 5.AssetBundleManifest6.AssetBundle的内存占用7.AB包资源加密 1.AssetBundle 概念 AssetBundle又称AB包,是Unity提供…

Linux项目自动化构建工具make/Makefile

目录 前言1. Makefile 文件的基本构成2. makefile的依赖关系的自动化推导3. make执行过程中的一些现象及其原理3.1 证明该现象原理3.2 关于 stat 时间属性的拓展 前言 身处 linux 平台环境开发中的伙伴们都知道 gcc/g 编译器以及编译指令,但是不难想象在以后的生活…

解决方案 | IP地址申请专用HTTPS证书的常见问题

IP地址专用的HTTPS证书是一种专门为IP地址设计的SSL/TLS证书,它可以通过HTTPS协议安全地访问基于IP地址实现的网站或服务,以下是申请IP地址https证书时经常遇到的问题以及解决办法。 一 、如何选择合适的IP地址https证书的类型? 1、DV类型IP…

水文:CBA业务架构师

首先, 我们来了解一下什么是CBA业务架构师? CBA业务架构师认证是由业务架构师公会(Business Architecture Guild)授予的一种专业认证。标志着证书持有者已经掌握了业务架构的核心技能和知识,能够在实际工作中熟练运用业务架构技术和框架&…

安全极客团队荣获首届“矩阵杯”网络安全大赛人工智能挑战赛“三等奖”

近日,东半球规格高、规模大且奖金丰厚的网络安全顶级赛事——首届“矩阵杯”网络安全大赛在青岛国际会议中心圆满落幕。本次大赛设置了五大赛事,包括通用产品漏挖赛、国产软硬件安全检测赛、原创漏洞挖掘赛、人工智能(大模型)挑战…

CDH实操--集群卸载

作者:耀灵 1、停止正在运行的服务 a、控制台停止集群服务 b、控制台停止Cloudera Management Service c、命令行停止cm服务 systemctl stop cloudera-scm-agent #所有节点执行 systemctl stop cloudera-scm-server #cdh01节点执行2、主线并移除Parcles rm -r…

【完结】LeetCode 热题 HOT 100分类+题解+代码详尽指南

目录 LeetCode 热题 100 前言 Leetcode Top100题目和答案-哈希 Leetcode Top100题目和答案-双指针篇 Leetcode Top100题目和答案-滑动窗口篇 Leetcode Top100题目和答案-子串篇 Leetcode Top100题目和答案-普通数组篇 Leetcode Top100题目和答案-矩阵篇 Leetcode Top1…

ABAQUS大连正版代理商:亿达四方——开启东北工业智能仿真新篇章

在东北老工业基地的振兴道路上,大连以其独特的地理位置和深厚的产业基础,成为推动区域经济发展的领头羊。作为国际知名的仿真软件ABAQUS在大连地区的官方授权代理商,亿达四方正以科技创新为驱动,引领当地制造业迈向数字化、智能化…