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

作者简介

目录

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.hqwc.cn/news/115997.html

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

相关文章

RocketMQ快速实战以及集群架构详解

⼀、 MQ 简介 MQ : MessageQueue ,消息队列。是在互联⽹中使⽤⾮常⼴泛的⼀系列服务中间件。 这个词可以分两个部分来看,⼀是Message :消息。消息是在不同进程之间传递的数据。这些进程可以部署在同⼀台机器上,也可以…

C/C++程序员技术发展方向(强烈推荐!!)

大家好,我是阿Q。 今天这篇就是专门给现在还迷茫不知道自己到底要做什么方向C开发的同学们。 几年后回过头看的时候,你一定会感谢当初那个努力的自己! C作为当下也非常流行的一个面向对象语言,有着非常多的应用,一定…

jenkins 展示测试报告不友好?教你3招,甩出同事3条街!

jenkins 中在展示测试报告的时候很不友好,测试报告样式会丢失,如何展示漂亮的测试报告呢? 今天我们就来解决这个问题,手把手教你3 种方式。 一、jenkins 中展示测试报告效果 二、实现方式一:临时解决(jenkins 重启后失…

PowerDesigner 连接 MYSQL

我使用的是powerDesigner16的版本,使用前先保证安装了 mysql odbc 驱动包 选择:文件 -> 反向工程 -> database… 一大波图片正在来袭。。。 点击确认 至此连接成功

笔记1.2 计算机网络结构

网络边缘 主机、网络应用 接入网络,物理介质 有线或无线通信链路 网络核心(核心网络): 互联的路由器(或分组转发设备) 网络之网络 一、网络边缘 主机(端系统): 位…

Mysql 子查询,最值查询

1.leetcode-184:查找部门内最高的薪水 首先是一个子查询,找出一个部门里最高的那个工资 随后查找最终需要的值,并且部门编号以及薪水应该包含在这个子查询中 最终答案: # Write your MySQL query statement below SELECT Depar…

【计算机组成原理】读书笔记第四期:从源文件到可执行文件

目录 写在开头 从源代码到本地代码 源代码 本地代码的初级形态(这一节有点不严谨) 编译器 从目标文件到可执行文件 启动和库文件 DLL文件及导入库 可执行文件的运行机制 变量和函数的内存地址 程序加载时生成栈和堆 结尾 写在开头 本文继…

计算机竞赛 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

YOLOv5、YOLOv8改进:空间金字塔池化 SPPF改为 SimSPPF / ASPP / RFB / SPPCSPC / SPPFCSPC

目录 1.SPP 2.sppf yolov5作者基于spp提出 3.YOLOv5/YOLOv8改进之结合​​ASPP 3.1空洞卷积(Atrous Convolution) 3.2空洞空间卷积池化金字塔 2.配置yolo.py文件 3.配置yolov5/yolov8_​​ASPP.yaml文件 4.1SimSPPF 5.RFB模块(Recept…

搭建知识库系统不难,选对工具很重要!

建立科学的知识管理体系,增加企业的知识资产,对于企业本身来说是价值意义重大,但是很多企业受制于技术水平认知限制,总觉得搭建知识库系统非常难…… 以HelpLook为例,只需要注册登陆就可以在短时间内就可制作出一个简约…

MySQL 篇

目录 1、数据库三范式 2、数据库事务的特性 3、MySQL数据库引擎 4、说说 InnoDB 与 MyISAM 的区别 5、索引是什么? 6、索引数据结构 7、MySQL 索引类型有哪些? 8、索引有什么优缺点? 9、索引设计原则 9、使用索引应该注意些什…

LabVIEW崩溃问题解决方法

LabVIEW崩溃问题解决方法 LabVIEW在运行中出现崩溃的情况,确实让人很崩溃。不过按照下面的方法可以逐步排查解决。 在LabVIEW开发环境中浏览时,LabVIEW崩溃并显示以下错误: 解决方案 LabVIEW内部错误和崩溃的初步故障排除步骤:…