【Redis】专栏合集,从入门到高级业务场景实战

news2024/12/30 1:10:06

作者简介

目录

1.概述

2.下载安装

3.基础操作

4.集群

5.实战场景


1.概述

诸如数mysql、Oracle之类的关系型数据库或者NTFS、HDFS之类的文件存储系统,其本质上数据都是存在磁盘上的。这是现代计算机体系架构的架构所决定的,要持久化存储的数据都会落磁盘。但是正如我们所知的,访问磁盘是个很慢的操作,很显然如果在软件系统中每次访问数据都走磁盘,系统的吞吐量会很差,内存数据库的出现是为了提升数据访问的速度,拉升整个系统的性能。将数据存在内存中,访问内存要比访问磁盘要快得多。Redis(Remote Dictionary Server)应该说是目前为止用的对多的内存数据库。本文是博主Redis系列专栏的合集,每个章节就对应一到多篇文章,从Redis的基础操作一直将到高级场景。

2.下载安装

文章链接:

Linux安装redis(含报错解决)_linux下安装redis常见错误__BugMan的博客-CSDN博客

上文中会详细介绍Linux环境中Redis的下载安装,redis的整个下载安装过程不算麻烦,需要注意的

是Redis是C语言写的,需要先进行编译才可以使用,编译和服务器环境是相关的,有时候编译会过不了,文中针对常见的编译报错如何处理进行了讲解。

3.数据操作

文章链接:

【Redis】五大基本数据类型操作大全__BugMan的博客-CSDN博客

Redis支持多种数据类型,包括字符串、列表、集合、有序集合、散列等。这些数据类型使得Redis非常适合解决各种不同的问题。上面文章中将会详细介绍Redis的数据基础操作。

Redis一共提供了五种数据结构:String、List、Hash、Set、zSet。

很多时候无法记全这五种数据结构,这里教大家一种办法,这样来记忆即可:

  • Redis是一个KV形式的内存数据库,所以其数据组织方式其实就是以KV为基准然后进行扩展,由KV的一对一到List的一对多再到Map的一类KV的集合。
  • 实际业务场景中,Redis中存的数据很可能具有唯一性(比如用户信息)或者顺序性(比如需要根据用户VIP等级来顺序拿用户),所以额外提供了”辨重“、”排序“的两种数据结构。

于是有String,1key对1value;List,1key对多value;Hash,1key对1类kv,Set,去重的List;zSet可排序的List。

上面文章中将会对Redis各类数据结构的操作做详细讲解。

4.集群

文章链接:

redis 主从复制(读写分离)集群搭建(含错误处理)__BugMan的博客-CSDN博客

redis集群详细搭建方式(含原理、操作指令、异常处理)_创建redis集群__BugMan的博客-CSDN博客

redis解除(删除)主从关系_redis取消主从__BugMan的博客-CSDN博客

Redis的集群搭建主要分为两类:

  • 读写分离集群
  • 分片集群

读写分离集群是在垂直方向上分散压力:

分片集群是在水平方向上分散压力:

上面的文章中将会详细讲解两种集群的架构和搭建方法。

5.实战业务场景和问题

文章链接:

redis的热key、大key_redis 大key 热key__BugMan的博客-CSDN博客

Redis常用的业务场景:

  1. 缓存:Redis最常见的用途之一是作为缓存。它可以存储热门数据,如数据库查询结果、API调用响应或计算结果,以提高读取速度,减轻后端数据库或服务的负载。

  2. 会话管理:Redis可用于存储用户会话数据,以实现分布式Web应用程序的会话管理。这允许用户在多个应用服务器之间保持相同的会话状态。

  3. 计数器和排行榜:Redis的原子操作使其非常适合构建计数器和排行榜。你可以轻松地实现点赞计数、访问次数统计、排行榜等功能。

  4. 分布式锁:Redis的SETNX命令可以用于实现分布式锁,防止多个客户端同时修改共享资源,确保数据的一致性和安全性。

  5. 用户会话队列:Redis可用于构建聊天应用程序、消息队列、通知系统等需要实时性的应用。

  6. 配置管理:Redis可用于动态配置管理,允许实时更改应用程序配置参数,而无需重新启动应用。

在实际业务场景中,Redis相关的经典性能问题会有两个:

  • 热key
  • 大key

上面的文章中会详细介绍如何处理热key和大key。

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

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

相关文章

一文带你实现从PDF到Word文件的相互转换

一文带你实现从PDF到Word文件的相互转换 01. 前期准备 模块安装 pip install pdf2docx or使用国内镜像源进行安装(清华的镜像源) pip install pdf2docx -i https://pypi.tuna.tsinghua.edu.cn/simple 02. 模块介绍 pdf2docx是一个Python模块&#xff0…

SpringBoot源码解析: 从手写一个简易版SpringBoot开始

IDE:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 文章目录 真正的SpringBoot手写一个简易版的springboot一. 准备1.1 准备自定义的springboot模块1.2 准备用户模块User 二. 运行测试2.1 第一次运…

如何快速上传批量剪辑的素材?附素材水印、字幕去除教程

想要快速上传网络素材,大家可以使用超级编导批量剪辑软件。 首先进入超级编导官网,免费下载超级编导超级编导软件,可以在官网中添加产品顾问,获取试用账号,登录即可开始使用。 超级编导支持批量上传URL链接到后台&…

Manifest merger failed

编译报错:Manifest merger failed with multiple errors 定位编译错误:java.lang.RuntimeException: Manifest merger failed with multiple errors 近日,项目中需要引入一个module。在成功导入后,添加依赖到主模块上&#xff0c…

【RocketMQ】(六)顺序消息实现原理

全局有序 在RocketMQ中,如果使消息全局有序,可以为Topic设置一个消息队列,使用一个生产者单线程发送数据,消费者端也使用单线程进行消费,从而保证消息的全局有序,但是这种方式效率低,一般不使用…

955. 删列造序 II;1838. 最高频元素的频数;1392. 最长快乐前缀

955. 删列造序 II 核心思想:我们可以按照一行一行排列strs,删除索引序列就代表删除某一列,那么我们如何判断一列是否应该删除呢,我们可以从反方向思考,应该保留那些列呢?从第一列开始,如果它不…

WebGIS面试题(浙江中海达)

1、Cesium中有几种拾取坐标的方式,分别介绍 Cesium是一个用于创建3D地球和地理空间应用的JavaScript库。在Cesium中,你可以使用不同的方式来拾取坐标,以便与地球或地图上的对象进行交互。以下是Cesium中几种常见的拾取坐标的方式&#xff1a…

jdk21(最新版) download 配置(linux window mac)

download 直达链接 jdk21,17 # wget https://download.oracle.com/java/20/latest/jdk-21_linux-x64_bin.deb # 选择你需要的包类似格式替换包的名称就可以实现终端下载jdk下载登录/oracle账号 下载jdk有可能存在要求登录帐号的情况 # 好心人的帐号 账号: 599…

C语言内存函数的使用、剖析及模拟实现

目录 一、内存拷贝函数——memcpy 1.函数声明: 注意: 2.函数使用用例: 3.memcpy函数的模拟实现: 二、内存拷贝函数2——memmove 1.函数声明: 2.memmove函数的模拟实现 三、内存比较函数——memcmp 1.函数声明…

01_docker镜像管理:80分钟一口气学完docker+k8s!带你掌握docker+k8s所有核心知识点,全程干货,无废话!

docker镜像的实际使用学习 开发过程中,需要安装很多三方工具,比如etcd、kafka、mysql、nginx等等 1、下载安装Docker工具。 2、获取该软件的Docker镜像(基本上,都能搜索到核实的镜像),下载镜像nginx镜像…

浏览器基本原理

1、浏览器内部组成 我们看到浏览器主要包括: 1个浏览器主进程: 主要负责界面显示,用户交互,子进程管理多个渲染进程:一般浏览器会为每个Tab标签窗口创建一个渲染进程,主要负责将html,css&#…

经典网络(一) AlexNet逐层解析 | 代码、可视化、参数查看!

文章目录 1 回顾2 AlexNet的重要性3 AlexNet解析3.1 结构3.1.1 CONV13.1.2 Max Pool13.1.3 NORM13.1.4 CONV23.1.5 Max Pool23.1.6 CONV3 CONV43.1.7 CONV53.1.8 Max Pool33.1.9 FC1 FC2 FC3 3.2 AlexNet使用到的技巧3.3 可视化3.4 代码实现模拟3.4.1 查看每一层输入输出3.4.2 …

UE 虚幻引擎 利用LOD,Nanite技术优化场景性能

目录 0 引言1 LOD1.1 LOD定义1.2 UE5中的LOD技术1.3 HLOD(Hierarchical Level of Detail) 2 Nanite2.1 UE5的Nanite技术2.2 Nanite介绍2.2.1 Nanite的优势2.2.2 Nanite网格体与传统静态网格体的不同2.2.3 Nanite支持的类型2.2.4 在地形中使用Nanite 0 引…

KT142C语音芯片flash型用户如何更新固件的说明_V2

目录 一、简介 2.1 让芯片进入PC模式 2.2 双击提供的exe程序即可 一、简介 正常的情况下,用户肯定是不需要更新固件的,因为芯片出厂默认就烧录了对应的程序固件,但是有客户可能需要小修小改,或者订制一下某些功能&#xff0c…

寻找环形链表的入环点

之前我们在判断一个链表是否为环, 是运用快慢指针的方法,且只能是慢指针走一步,快指针两步; 那么如何求带环链表的入环点的 思路一:数学方法(找出带环链表各个特点量的关系) 代码:…

Linux设备驱动之Camera驱动

Linux设备驱动之Camera驱动 Camera,相机,平常手机使用较多,但是手机的相机怎么进行拍照的,硬件和软件,都是如何配合拍摄到图像的,下面大家一起来了解一下。 基础知识 在介绍具体Camera框架前&#xff0c…

图像复原与重建,解决噪声的几种空间域复原方法(数字图像处理概念 P4)

文章目录 图像复原模型噪声模型只存在噪声的空间域复原 图像复原模型 噪声模型 只存在噪声的空间域复原

字节一面:你能手撕节流防抖吗?

前言 最近博主在字节面试中遇到这样一个面试题,这个问题也是前端面试的高频问题,节流防抖是前端性能优化一个很重要的手段,所以作为一个前端工程师必须要深入掌握这个知识点,博主在这给大家细细道来。 🚀 作者简介&…

01 TextRNN FastText TextCNN-04-训练要点,实验过程

TextRNN & FastText & TextCNN-03-模型总览,后 训练要点 RNN训练 得出来的y(m)(预测标签)是每一个分类的概率,比如是一个五分类,化成5个格子,每一个格子是概率&#xff0c…

java生成PDF的Util

java使用itext生成pdf-CSDN博客 接上文 支持表格绘制表格 支持表格中的文本 字体加粗、字体上色、单元格背景上色, 支持拼接文本 支持单行文本 多种背景颜色、字体上色 支持自定义水印 废话不说先上效果图 工具类代码 package com.zxw.文件.PDF.util;import …