【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.xdnf.cn/news/140063.html

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

相关文章

卸载Visual Studio 2010学习版 —— 卸载VCExpress

目录 最初安装Visual Studio 2010学习版是因为计算机二级 C语言考试而装,现如今考完试后便可卸载掉了,安装简便而卸载却没有uninstall.exe文件。故本文提供卸载方式。 进入到程序目录,找到setup.exe文件,也可以在程序目录搜索set…

RDMA编程杂记

目录 编程杂记什么是P_Key建链基于Socket API的建链基于CM API的建链 编程杂记 什么是P_Key P_Key(Partition Key)用于提供InfiniBand网络的隔离机制,只有在一个分区内的节点可以互相通信。 P_Key是一个16位的值,有两部分 msb…

CRM客户管理系统英文专业版

外资公司日常沟通的语言以英文为主,业务往来也是涉及到国内外,专业的英文版CRM系统很适合这样的业务团队,尤其CRM供应商是国际化企业,在海外也有分公司、办事处。 多语言 ZOHO支持多语种如英语、汉语、日语等28种语言&#xff0…

Android面试题汇总(三)

Android 四大组件相关 1、Activity与Fragment之间常见的通讯方式 对于Activity与Fragment直接的相互调用: 1、Activity调用Fragment直接调用就好了,Activity一般是持有Fragment实例的。或者通过Fragment的id或者tag获取Fragment的实例 2、Fragment调用A…

攻防世界做题

xff_referer 进来之后显示ip地址必须为123.123.123.123 抓包看一下 要求ip是123.123.123.123 就可以用xff伪造即X-Forwarded-For: 123.123.123.123 得到显示: 说必须来自google,伪造referer Referer: https://www.google.com 我的要在右边的 inspec…

[学习记录] 设计模式 3. 观察者模式

观察者模式 参考: bugstack 虫洞栈Refactoringhttps://www.cnblogs.com/myseries/p/8735490.htmlhttps://www.jianshu.com/p/4f1cd513a72d 当一个行为发生时传递信息给另外一个用户接收做出相应的处理,两者之间没有直接的耦合关联。 在我们编程开发中也…

计算机视觉: 三维物体生成

三维物体生成与编辑 论文地址: Controllable Mesh Generation Through Sparse Latent Point Diffusion Models 背景 数据是目前数字化和AI领域最宝贵的财富之一,但是对于目前的开发者来说,收集数据都意味着极大的成本。所以建立一个高效的生成模型能极…

Java多线程篇(5)——cas和atomic原子类

文章目录 CASAtomic 原子类一般原子类针对aba问题 —— AtomicStampedReference针对大量自旋问题 —— LongAdder CAS 原理大致如下: 在java的 Unsafe 类里封装了一些 cas 的api。以 compareAndSetInt 为例,来看看其底层实现。 可以发现,最…

GPT,GPT-2,GPT-3,InstructGPT的进化之路

ChatGPT 火遍圈内外,突然之间,好多人开始想要了解 NLP 这个领域,想知道 ChatGPT 到底是个什么?作为在这个行业奋斗5年的从业者,真的很开心让人们知道有一群人在干着这么样的一件事情。这也是我结合各位大佬的文章&…

【AIGC】Stable Diffusion Prompt 每日一练0916

一、前言 1.1 写在前面 本文是一个系列,有点类似随笔,每天一次更新,重点就Stable Diffusion Prompt进行专项训练,本文是第022篇《Stable Diffusion Prompt 每日一练0916》。上一篇《Stable Diffusion Prompt 每日一练0915》 1.…

Android Jetpack Compose之UI的重组和自动刷新

1.概述 我们都知道,在传统的View中,若要改变UI,需要我们修改View的私有属性,比如要修改一个TextView的文字,我们需要通过它的setText(“xxx”)方法去修改。而Compose 则是通过重组来刷新UI。在之前的状态管理的文章中…

基于SSM的田径运动会成绩管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

MySQL详解六:备份与恢复

文章目录 1. 数据库备份的分类1.1 从物理和逻辑上分类1.1.1 物理备份1.1.2 逻辑备份 1.2 从数据库的备份策略角度上分类1.2.1 完全备份1.2.2 差异备份1.2.3 增量备份 1.3 常见的备份方法 2. MySQL完全备份2.1 完全备份简介2.2 优点与缺点2.3 实现物理冷备份与恢复2.3.1 实现流程…

MongoDB(一) windows 和 linux 之 Ubuntu 安装

数据库分类 一、关系型数据库(RDBMS) mysql 、Oracle、DB2、SQL Server 关系数据库中全都是表 二、非关系型数据库(NO SQL) MongoDB、Redis 键值对数据库 文档数据库MongoDB 下载 mongoDB https://www.mongodb.com/try/downloa…

渗透中 POC、EXP、Payload、Shellcode 的区别

渗透中 PoC、Exp、Payload、Shellcode 的区别 不同含义: POC Proof of Concept中文意思是“观点证明”。这个短语并非仅仅在漏洞报告中使用,甲方在项目招标过程中也常常要求乙方提供POC,即证明你的方案或者产品能达到声称的功能或性能&…

Tomcat部署、优化、以及操作练习

一.Tomcat的基本介绍 1.1.Tomcat是什么? Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,T…

详细解释HiveSQL执行计划

一、前言 Hive SQL的执行计划描述SQL实际执行的整体轮廓,通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑,掌握了执行逻辑也就能更好地把握程序出现的瓶颈点,从而能够实现更有针对性的优化。此外还能帮助开发者识别看似等价的SQL其…

内存函数 memcpy 和 memmove 的讲解和模拟实现

目录 一.什么是 memcpy 函数 模拟思路 代码实现 二.什么是 memmove 函数 模拟思路 代码实现 一.什么是 memcpy 函数 我们打开 cplusplus 官网查看: memcpy - C Reference (cplusplus.com) 官方文本显示: 内存复制块 将 num 字节的值从源指向的位置…

去耦电路设计应用指南(一)MCU去耦设计介绍

(一)MCU去耦设计介绍 1. 概述2. MCU需要去耦的原因2.1 去耦电路简介2.2 电源噪声产生的原因2.3 插入损耗2.4 去耦电路简介 参考资料来自网上: 1. 概述 我们经常看到单片机或者IC电路管脚常常会放置一个或者多个陶瓷电容,他们主要…

安防监控视频云存储平台EasyNVR对接EasyNVS时,一直不上线该如何解决?

视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入,并能对接入的视频流进行处理与多端分发,包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式。 近期有用户在使用安防视频平台EasyNVR对接上级平台EasyNVS时,出现了一直不上线…