Redis 基本认识

文章目录

  • Redis八个特性
  • Redis应用场景
  • Redis应用缺陷
  • Redis使用流程

Redis八个特性

  1. 速度快
    原因:
    ① 单线程,避免了多线程竞争(如加锁/解锁)的时间开销
    ② redis的数据存放在内存中
    ③ 使用C语言编写,C语言更方便操做硬件
    ④ Redis 源码优秀

  2. 利用键值对存储数据
    Redis 利用Key = Value的形式构建储数据,Redis有五种基础的数据结构,它们分别为:字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(ordered set /zet ) , 并在这些基础的数据结构之上演变出了其他类型 。

  3. 客户端语言种类多

  4. 支持持久化
    将内存中的数据存储到外存中

  5. 支持主从复制

  6. 简单稳定
    Redis 本身代码量相对少,故客户端开发、功能开发相对容易, 出现漏洞的可能性低 。

  7. 支持分布式 ,提高了可用性

  8. 其他功能丰富
    ①提供了键过期功能,可以⽤来实现缓存。
    ②提供了发布订阅功能,可以⽤来实现消息系统。
    ③⽀持 Lua 脚本功能,可以利⽤ Lua 创造出新的 Redis 命令。
    ④提供了简单的事务功能,能在⼀定程度上保证事务特性。
    ⑤提供了流⽔线(Pipeline)功能,这样客⼾端能将⼀批命令⼀次性传到 Redis,减少了⽹络的开
    销。

Redis应用场景

  1. 网络数据缓存
  2. 实时计数器
  3. 消息队列
  4. 排行榜系统

Redis应用缺陷

同大小的内存与外存,内存更贵,Redis数据存储在内存中,故Redis不适合存放冷数据的应用场景

冷数据:不被用户经常访问的数据
热数据: 经常被用户访问的数据

Redis使用流程

Redis本身是一个网络服务,程序/程序员在Redis增删查改数据是通过客户端来实现的,这点和MySQL相似。
在这里插入图片描述

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

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

相关文章

【SpringBoot】JWT令牌

📝个人主页:五敷有你 🔥系列专栏:SpringBoot ⛺️稳重求进,晒太阳 什么是JWT JWT简称JSON Web Token,也就是通过JSON形式作为Web应用的令牌,用于各方面之间安全的将信息作为JSON对象传输…

龙芯安装Docker

本文章使用龙芯3A6000处理器,Loongnix操作系统。 官方文档: http://docs.loongnix.cn/loongnix/cloud/docker/manual.html 1 安装Docker 1.1 卸载docker sudo apt remove docker1.2 更新 sudo apt update1.3 安装Docker sudo apt install docker-ce …

POPPPPPJ勒索病毒:了解最新POPPPPPJ,以及如何保护您的数据

尊敬的读者: 在当今数字化时代,网络安全威胁日益增加,恶意软件如.POPPPPPJ勒索病毒已成为用户和企业面临的重大挑战。本文将深入探讨.POPPPPPJ勒索病毒的特点、数据恢复方法以及预防策略,以帮助读者更好地保护自己的数据安全。面…

【Git】Windows下通过Docker安装GitLab

私有仓库 前言基本思路拉取镜像创建挂载目录创建容器容器启动成功登录仓库设置中文更改密码人员审核配置邮箱 前言 由于某云存在人数限制,这个其实很好理解,毕竟使用的是云服务器,人家也是要交钱的。把代码完全放在别人的服务器上面&#xf…

507. Perfect Number(完美数)

题目描述 对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。 给定一个 整数 n, 如果是完美数,返回 true;否则返回 false。 问题分析 按照题目要求找出每一个因子&#xff0c…

1897_野火FreeRTOS教程阅读笔记_链表

1897_野火FreeRTOS教程阅读笔记_链表 全部学习汇总: g_FreeRTOS: FreeRTOS学习笔记 (gitee.com) 之前我自己通过直接啃代码的方式对FreeRTOS也算是有了一点理解了,这次趁着些许闲暇翻看一下野火的FreeRTOS教程。一者算是一种复习;二者可能对自…

Leetcode刷题笔记题解(C++):面试题 08.07. 无重复字符串的排列组合

思路:因为字符之间互不相同,故使用全排列的方式去解题; 字符串长度为n,将第一个字母分别与后面每一个字母进行交换,生成n种不同的全排列;再用第二个元素与后面每一个元素进行交换,生成n - 1种不…

爪哇部落算法组2024新生赛热身赛题解

第一题(签到): 1、题意: 2、题解: 我们观察到happynewyear的长度是12个字符,我们直接从前往后遍历0到n - 12的位置(这里索引从0开始),使用C的substr()函数找到以i开头的长度为12的字…

寒假作业7

sql语句 创建表格 create table 表名 (字段名 数据类型,字段名 数据类型) create table if not exists 表名 (字段名 数据类型, 字段名 数据类型) 删除表格 drop table 表名; 插入记录 全字…

git flow与分支管理

git flow与分支管理 一、git flow是什么二、分支管理1、主分支Master2、开发分支Develop3、临时性分支功能分支预发布分支修补bug分支 三、分支管理最佳实践1、分支名义规划2、环境与分支3、分支图 四、git flow缺点 一、git flow是什么 Git 作为一个源码管理系统,…

【转载】原生社区交友婚恋视频即时通讯双端APP源码 ONE兔2.0版

原生社区交友婚恋视频即时通讯双端APP源码下载ONE兔2.0版 包含后端、H5源码源码,Android源码,IOS源码

LeetCode983. Minimum Cost For Tickets——动态规划

文章目录 一、题目二、题解 一、题目 You have planned some train traveling one year in advance. The days of the year in which you will travel are given as an integer array days. Each day is an integer from 1 to 365. Train tickets are sold in three differen…

3.4-媒资管理之视频处理+xx-job分布式任务

文章目录 媒资管理6 视频处理6.1 需求6.1.1 总体需求6.7.3 FFmpeg 的基本使用6.7.4 视频处理工具类 6.2 分布式任务处理6.2.1 什么是分布式任务调度6.2.2 XXL-JOB介绍6.2.3 搭建XXL-JOB6.2.3.1 调度中心6.2.3.2 执行器6.2.3.3 执行任务 6.2.4 分片广播 6.3 技术方案6.3.1 作业分…

Java基础常见面试题总结-集合(一)

常见的集合有哪些? Java集合类主要由两个接口Collection和Map派生出来的,Collection有三个子接口:List、Set、Queue。 Java集合框架图如下: List代表了有序可重复集合,可直接根据元素的索引来访问;Set代表…

8个简约精美的WordPress外贸网站主题模板

Simplify WordPress外贸网站模板 Simplify WordPress外贸网站模板,简洁实用的外贸公司wordpress外贸建站模板。 查看演示 Invisible Trade WP外贸网站模板 WordPress Invisible Trade外贸网站模板,做进出口贸易公司官网的wordpress网站模板。 查看演…

Vue3编写简单的App组件(二)

一、Vue3页面渲染基本流程 1、入口文件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><link rel"icon" href"/favicon.ico"><meta name"viewport" content"widthde…

算法学习系列(三十二):背包问题

目录 引言一、01背包1.二维代码模板2.一维代码模板 二、完全背包1.朴素代码模板2.二维优化代码模板3.一维代码模板 三、多重背包1.朴素做法2.优化版本 四、分组背包1.朴素做法2.一维优化 引言 从这一篇文章开始&#xff0c;就开始学习动态规划了&#xff0c;也就是DP了&#x…

js手写Promise(下)

目录 resolve与reject的调用时机封装优化 回调返回PromiseisPromise手动调用then 微队列catchresolverejectall传入的序列为空传入的值非Promise race完整的Promise代码 如果没有看过上半部分的铁铁可以看看这篇文章 js手写Promise&#xff08;上&#xff09; resolve与reject…

MacOS 设置 环境变量

1. 以TextEdit 的方式打开 ~/.bash_profile 文件 touch ~/.bash_profile; open -t ~/.bash_profile 2.新增环境变量 export PATH"$HOME/.rbenv/bin:$PATH" 3.让以上所作的配置生效 source ~/.bash_profile 4.查看是否生效&#xff08;有时可能须要关闭当前 T…

Go Context -- 管理请求的上下文信息

在Go语言中&#xff0c;管理请求的上下文信息对于构建可靠的并发程序至关重要。context 包为我们提供了一种优雅的方式来传递请求的取消信号、超时信息和请求范围的值。接下来将深入探讨Go中的 context 包&#xff0c;包括其基本概念、用法、实际应用场景和最佳实践&#xff0c…