首页 > 数据库 >redis系列(01):redis简介

redis系列(01):redis简介

时间:2023-12-04 10:11:59浏览次数:39  
标签:存储 01 简介 数据库 redis 支持 value 磁盘

 

本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10950727.html

出现背景

关系型数据库的不足:数据是存储在磁盘上的,磁盘的 I/O 读写瓶颈会直接影响性能

所以,我们可以用速度更快的内存来存储常用但数据量不算大、且结构简单的数据

这样可以较大程度缓解关系型数据库带来的磁盘 I/O 读写瓶颈

 

什么是非关系型数据库

非关系型数据库也称为NoSQL,NoSQL的全称是Not only SQL

没有表结构,用简单的键值方式来存储数据

相比于关系型数据库,由于其存储结构相对简单,在适用于缓存数据库的场景中,可以获得比较高的效率

Key作为数据检索的唯一标识,value作为数据存储的对象,每一个Value都有一个Key与之关联

 

种类:下图可以看到,redis排第一

 

redis介绍

官网:https://redis.io/docs/about/

Redis是一个开源的内存数据库,功能很强大

主要特点是:

1.支持多种数据结构

 

  

  常用的5种:strings, hashes, lists, sets, sorted sets

  说明:

在redis中,key永远都是string类型,value可以是上面列举的类型

命令不区分大小写,但key和value区分大小写

命令可以通过tab补全,补全的命令都是大写

  

2.线程机制

  4.0之前使用单线程,避免了上下文切换

  4.0以及之后开始慢慢支持多线程,直到redis6/7之后才稳定;多线程可以分摊Redis同步读写I/O的压力,以及充分利用多核CPU资源

3.可持久化

  可以把数据从内存永久存储到磁盘,这样可以防止断电等异常情况下数据丢失等问题

  支持RDB(快照)与 AOF(append-only file,完整记录修改数据的命令)

4.支持 Lua 脚本

  当需要保证原子性的时候需要使用 lua 脚本

  lua 脚本能够保证操作的原子性,即所有的操作当作一个操作,要么全部失败要么全部成功

5.支持分布式锁

  可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行

6.支持事务

7.支持发布/订阅

  功能不如专业的mq强大

8.支持主从复制

9.支持sentinel:自动故障转移

10.提供了多种语言的API(java、python...)

 

标签:存储,01,简介,数据库,redis,支持,value,磁盘
From: https://www.cnblogs.com/uncleyong/p/17873979.html

相关文章

  • 014 springboot2.7.10与swagger3.0.0出现的版本冲突问题,以及解决办法
    springboot2.7.10集成Swagger3.0.0过程中出现的错误提示翻译过来:解决办法:1.网上的解决办法1:在配置文件中添加以下内容spring:mvc:#解决springboot2.7.10与swagger3版本冲突的问题pathmatch:matching-strategy:ant_path_matcher 结果报错,springboot......
  • 实验五_OOP_张文瑞_202213260018
    实验任务3pets.hpp源码1#include<iostream>2usingstd::string;3classMachinePets{4private:5stringnickname;6public:7MachinePets(conststrings);8stringget_nickname()const;9virtualstrin......
  • 2013年6月英语四级真题及答案
    2013年6月英语四级真题及答案作文范文高分版:TheBigistheLittleNothingcanbedoneexceptlittlebylittle,theFrenchpoetBaudelaireCharlesoncesaid.Mostpeople,however,oftenignoresuchatruth.Sodoesthelittleboyshowninthepicture......
  • 2013年6月英语四级作文真题及参考范文
    手机移动课堂 四级阅读 四级写作 四级题库 四级词汇语法 考试动态 首页2013年6月英语四级作文真题及参考范文-第一套 返回2013年6月大学英语四级考试已结束,外语教育网收集整理了作文部分的试题及参考答案,以供考生们参考。Directions:Forthispart,youareallowed......
  • 记Redux下载后,运行examples/todos时,报错Error: error:0308010C:digital envelope rout
    1、Redux下载下载地址gitclonehttps://github.com/reactjs/redux.git进入examples/todos,下载依赖:npminstall2、问题复现及解决执行命令npmrunstart此时终端报错:Error:error:0308010C:digitalenveloperoutines::unsupported解决方法:打开package.json,修改......
  • Restart Study MySQL-01数据库概述(基础)
    C(Chapter)C-01.数据库概述1.为什么要用数据库持久化(persistence):把数据保存到可掉电式存储设备(硬盘)中以供之后使用。大多数情况下,特别是企业应用,数据持久化是将内存中的数据保存到硬盘上加以"固化",而持久化的实现过程大多使用各种关系数据库来完成。持久化的主要作用是将......
  • 初中英语优秀范文100篇-016An unforgettable Trip-一次难忘的旅行
    PDF格式公众号回复关键字:SHCZFW016记忆树1Lastyear,Iwenttomyfavoritecity,Beijing.翻译去年,我去了我最喜欢的城市,北京简化记忆城市句子结构这个句子可以分析为一个复合句,由主句和从句构成。主句是“Iwenttomyfavoritecity,Beijing”,主语是“I”......
  • Http 状态码 301 和 302 的应用场景
    301表示永久重定向,302表示临时重定向。如果浏览器收到的是301,则会缓存重定向的地址,之后不会再重新请求服务器,直接使用缓存的地址请求,这样可以减少请求次数。但如果浏览器收到的是302,则不会缓存重定向地址,浏览器将来会继续以原有地址请求。因此,301适合地址永久转移的场景,比如域......
  • 2023-2024-1 20231301 《计算机基础与程序设计》第十周学习总结
    2023-2024-120231301《计算机基础与程序设计》第十周学习总结作业信息作业链接作业课程<班级>(2023-2024-1-计算机基础与程序设计)作业要求<作业>(2023-2024-1计算机基础与程序设计第十周学习总结)作业目标<《计算机基础与程序设计》预习第十二、十三、十四章......
  • Python基础_01_MarkDown语法基础
    MarkDown基础语法[一]Typora(1)下载官网:Typora官方中文站(typoraio.cn)正版价格及介绍:89元/3台设备;89元三个设备码(重装系统设备码失效)绿色版:网盘链接[.\Typora\resources文件夹下替换(app.asar)](2)部分设置主题更改:Typora官方主题库下载完成后,解压压缩包后将.css......