说说你对redis的理解

news2024/11/18 7:28:37

数据结构

String:缓存对象、常规计数、分布式锁、共享session信息

hash:(包含键值对的无序散列表)

list:消息队列

set:聚合计算、点赞、公共关注、抽奖活动

zset:(格式key、value、score根据score进行排序)排名,排序

 @Override
    public Boolean zAdd(String key, Object value, long score) {
        return redisTemplate.opsForZSet().add(key,value,score);
    }

在这里插入图片描述

zset是使用跳表实现的:实现了一种「多层」的有序链表

在这里插入图片描述

第一层有五个节点、第二层有三个节点、第三层有1个节点

比如当查找4节点时,先跳到3节点,然后再跳到4节点。时间复杂度O(logn)

线程模型

1.为什么redis快(10w/s)?

  • 操作都是在内存中进行的。

  • 单线程,没有线程的切换。

  • redis的io多路复用

2.redis的单线程

单线程:接收客户端请求–》解析请求—》进行数据读写操作—》发送数据给客户

redis为耗时的操作单独开辟线程,比如关闭文件、AOF刷盘、删除大key值

Redis 6.0 版本之后,也采用了多个 I/O 线程来处理网络请求

事务

lua脚本

日志

1.AOF日志

每次对数据的操作都把命令写入日志。当redis重启时,会读取文件中的命令,重新执行。

写回策略:always、everysec(秒)、no

AOF日志记录的是全量的操作命令,恢复的时候需要全部执行,恢复缓慢。

优点:数据安全性更好、有多种重写策略、可以通过aof文件重写机制优化

缺点:消耗磁盘空间大,当aof文件大且没开启aof重写机制时,恢复慢

2.RDB快照

将某一时刻的内存数据以二进制的形式写入磁盘

rdb比aof效率高,因为rdb是快照的形式恢复。

生成rdb文件的命令:save(阻塞主线程)、bgsave(创建子线程生成rdb文件)

优点::备份速度快,文件体积小。fork子进程,不会阻塞主进程

**缺点:**两次快照之间如果故障就会数据丢失

缓存淘汰和过期删除

1.内存淘汰策略:在内存快满的时候,触发内存淘汰策略。
在这里插入图片描述
策略:

–不进行数据淘汰,当满了之后再插入就通知禁止写入。

–进行淘汰:

-----淘汰设置了过期时间:随机淘汰、淘汰更早的、淘汰最久没使用

​ 淘汰最少使用

------在所有范围内淘汰:随机、最久没使用、最少使用

2.过期删除策略:删除过期的key,采用的是惰性删除+定期删除。

每隔一段时间「随机」从数据库中取出一定数量的 key 进行检查,并删除其中的过期key。

在这里插入图片描述

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

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

相关文章

【Streamlit学习笔记】Streamlit-ECharts热力图tooltip提示信息拓展

Streamlit-ECharts Streamlit-ECharts是一个Streamlit组件,用于在Python应用程序中展示ECharts图表。ECharts是一个由百度开发的JavaScript数据可视化库Apache ECharts 安装模块库 pip install streamlitpip install streamlit-echarts绘制热力图展示 在基础热力…

【强化学习的数学原理】课程笔记--5(值函数近似,策略梯度方法)

目录 值函数近似一个例子TD 算法的值函数近似形式Sarsa, Q-learning 的值函数近似形式Deep Q-learningexperience replay 策略梯度方法(Policy Gradient)Policy Gradient 的目标函数目标函数 1目标函数 2两种目标函数的同一性 Policy Gradient 目标函数的…

18967 六一儿童节

这个问题可以使用贪心算法来解决。我们可以先将孩子们的需求和巧���力的重量都进行排序,然后从最大的需求开始,找到能满足这个需求的最大的巧克力,将其分给这个孩子。然后继续处理下一个需求,直…

基于微信小程序+SpringBoot+Vue的自助点餐系统(带1w+文档)

基于微信小程序SpringBootVue的自助点餐系统(带1w文档) 基于微信小程序SpringBootVue的自助点餐系统(带1w文档) 基于微信小程序的自助点餐系统前后台分离,让商品订单,用户反馈信息,商品信息等相关信息集中在后台让管理员管理,让用…

【进程间通信机制】管道和 FIFO、信号、消息队列、信号量、共享内存、套接字(Socket)

进程详细剖析,移步:https://blog.csdn.net/Thmos_vader/article/details/140750535 进程间通信 前文介绍:如何通过 fork()或 vfork()创建子进程,以及在子进程中通过 exec()函数执行一个新的程序; 谓进程间通信指的是…

考题相似度 AI 分析 API 数据接口

考题相似度 AI 分析 API 数据接口 基于 AI 的相似度评估,专有 AI 模型,包含评估详情 。 1. 产品功能 基于自有专业模型进行 AI 智能分析;提供详细的相似度评分和结果描述;高效的模型分析性能;全接口支持 HTTPS&#…

乐鑫ESP32-H2设备联网芯片,集成多种安全功能方案,启明云端乐鑫代理商

在数字化浪潮的推动下,物联网正以前所未有的速度融入我们的日常生活。然而,随着设备的激增,安全问题也日益成为公众关注的焦点。 乐鑫ESP32-H2致力于为所有开发者提供高性价比的安全解决方案,这款芯片经过专门设计以集成多种安全…

【时时三省】unity test 测试框架 下载

目录 1,unity test 测试框架介绍 2,源码下载 3,目录架构 4,git for window 下载安装方法: 1,unity test 测试框架介绍 Unity是一个用于C语言的轻量级单元测试框架。它由Throw The Switch团队开发&#…

工作很难受,还要不要继续留在职场上?

先说结论:我非常赞同大家离开职场 虽然小编现实的工作是有关于人力资源的,高级点叫做猎头,低俗点讲就叫“人贩子” 原因可能和其他人不太一样,大家自行理解 1.现在的社会资源太少,“蛋糕”太小 大家要明白最重要的…

TVL 破 3 亿美元的 Pencils Protocol,缘何具备持续盈利的能力?

Pencils Protocol 是行业内首个 DeFi Auction 的一站式聚合收益平台,其不仅支持 LaucnhPad、Staking、杠杆挖矿等系列功能,并有望成为 Scroll 生态重要的流动性枢纽,其目前正在基于该体系为 LRT 赛道赋能,目前在质押端不仅支持 ST…

【公式】因果卷积神经网络公式与应用解析

因果卷积神经网络公式与应用解析 因果卷积神经网络的核心作用 因果卷积神经网络(Temporal Convolutional Network, TCN)是一种专为时间序列预测而设计的网络结构。它通过因果卷积层,能够有效地处理时间序列数据,捕捉时间序列中的…

mediasoup simulcast实现说明

一. 前言 二. 空间可伸缩与时间可伸缩 三. mediasoup simulcast实现代码分析 1. 推流客户端开启 simulcast 2. mediasoup服务端接收simulcast流 3. mediasoup服务端转发流数据给消费者 a. SimulcastConsumer类声明 b. 获取预估码率,切换SimulcastConsumer的目…

大脑自组织神经网络通俗讲解

大脑自组织神经网络的核心概念 大脑自组织神经网络,是指大脑中的神经元通过自组织的方式形成复杂的网络结构,从而实现信息的处理和存储。这一过程涉及到神经元的生长、连接和重塑,是大脑学习和记忆的基础。其核心公式涉及神经网络的权重更新…

优化算法:2.粒子群算法(PSO)及Python实现

一、定义 粒子群算法(Particle Swarm Optimization,PSO)是一种模拟鸟群觅食行为的优化算法。想象一群鸟在寻找食物,每只鸟都在尝试找到食物最多的位置。它们通过互相交流信息,逐渐向食物最多的地方聚集。PSO就是基于这…

探索HTTPx:Python中的HTTP客户端新选择

文章目录 探索HTTPx:Python中的HTTP客户端新选择背景什么是HTTPx?安装HTTPx简单的库函数使用方法发送GET请求发送POST请求设置超时使用代理处理Cookies 应用场景异步请求连接池管理重试机制 常见问题与解决方案问题1:超时错误问题2&#xff1…

ROS getting started

文章目录 前言一、认识ROS提供的命令行工具nodestopicsservicesparametersactionsrqt_console, rqt_graph批量启动多个节点recorde and playc基础pub-sub 1.5 ROS2和fastdds1 改变订阅模式2 xml配置3 指定xml位置4 talker/listener通过发现服务器发送topic5 ros2 检视6 远程fas…

Natutre Methods|单细胞+空间转录,值得去复现的开源单细胞分析pipeline

肺癌是全球第二大最常见的癌症,也是癌症相关死亡的主要原因。肿瘤生态系统具有多种免疫细胞类型。尤其是髓系细胞,髓系细胞普遍存在,并且在促进疾病方面发挥着众所周知的作用。该篇通过单细胞和空间转录组学分析了 25 名未经治疗的腺癌和鳞状…

58页PPT智慧工地整体解决方案(精华版)

智慧工地的核心技术主要包括以下几个方面: 本文篇幅限制,只分享部分内容,喜欢文章请点赞转发评论,下载完整版PPT可以查看文章中图片右下角信息 1. 物联网(IoT)技术 核心作用:物联网技术是智慧…

贪心+背包

这道题比较坑的就是我们的对于相同截止时间的需要排个序&#xff0c;因为我们这个工作是有时间前后顺序的&#xff0c;我们如果不排序的话我们一些截止时间晚的工作就无法得到最优报酬 #include<bits/stdc.h> using namespace std;#define int long long int t; int n; c…