【Redis】Redis特性

Redis

  • 认识redis
  • Redis特性
    • 在内存中存储数据
    • 可编程
    • 可扩展性
    • 持久化
    • Clustering
    • 高可用性

认识redis

Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库
同MySQL数据库不同的是,Redis是一个NoSQL,即非关系数据库,Redis的数据是存在内存中的,所以读写速度远超MySQL几个数量级。

Redis 主要应用于 数据库,或被作为缓存(cache),和作为消息队列(服务器)。
链接: 官网
在这里插入图片描述

Redis特性

在这里插入图片描述
共有六大特性

在内存中存储数据

MySQL通过库和表的方式来存储数据的 关系型数据库。
Redis 通过键值对(Key-Value)方式来存储的 非关系型数据库。

Redis 中的值不仅可以是字符串,⽽且还可以是具体的数据结构,这样不仅能便于在许多应⽤场景的开发,同时也能提⾼开发效率。

它主要提供了 5 种数据结构:字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(sorted set /zset)。
还有几种特殊的类型: Streams,Geospatial indexes,Bitmaps,HyperLogLog 。

在Redis中,key的类型都是字符串,value的类型可以是上述的所有数据类型。

可编程

我们可以通过直接简单的交互式命令去操作Redis,也可以通过脚本的方式,去批量的执行操作

可扩展性

可以在Redis原有的基础上,对其功能进行扩展

通过C/C++,或者Rust 编写模块API,扩展功能。

持久化

将数据放在内存中是不安全的,⼀旦发⽣断电或者机器故障,重要的数据可能就会丢失,因此 Redis 提供了两种持久化⽅式:RDB 和 AOF,即可以⽤两种策略将内存的数据保存到硬盘中,这样就保证了数据的可持久性。

Redis存储的是硬盘的一部分数据,当Redis重新启动后, 会去硬盘中加载数据,回到重启之前的状态。

Clustering

Redis支持集群,会在单台Redis服务器达到极限后,进行水平扩展,引入多台主机。

高可用性

可⽤性(Availability)
考察单位时间段内,系统可以正常提供服务的概率/期望。例如: 年化系统可⽤性 = 系统正常提供服务时⻓ / ⼀年总时⻓。这⾥暗含着⼀个指标,即如何评价系统提供⽆法是否正常,我们就不深⼊了。平时我们常说的 4 个 9 即系统可以提供 99.99% 的可⽤性,5 个 9 是 99.999% 的可⽤性,以此类推。

Redis 提供了⾼可⽤实现的 Redis 哨兵(Redis Sentinel),能够保证 Redis 结点的故障发现和故障⾃动转移。也提供了 Redis 集群(Redis Cluster),是真正的分布式实现,提供了⾼可⽤、读写和容量的扩展性。

为什么Redis 会这么快?

  1. Redis的数据都在内存中
  2. Redis的核心功能都是一些简单的逻辑----- 都是一些简单的操作内存的数据结构
  3. 从网络上说,Redis采用了多路转接的方式
  4. Redis使用的是单线程
  5. Redis是用c语言写的(但是MySQL也是c写的,所以不能主观的把这些原因推到底层语言上)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

时间对比投资:衡量5天与10天六西格玛绿带培训的价值

六西格玛绿带培训专为希望提高其业务流程改进技能的专业人员设计。绿带培训通常涵盖六西格玛的基础知识、DMAIC(定义、测量、分析、改进、控制)方法论、以及各种质量管理工具和技巧。绿带受训者通常在他们的工作职责中负责领导小型项目或作为黑带项目团队的成员,下面…

(附源码)基于Spring Boot + Vue的招聘平台设计与实现

前言 💗博主介绍:✌专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2024年Java精品实战案例《100套》 🍅文末获取源码联系🍅 &#x1f31…

使用Django实现信号与消息通知系统【第154篇—Django】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 使用Django实现信号与消息通知系统 在Web应用程序中,实现消息通知系统是至关重…

【JAVA】数组的定义和使用

JAVA的数组和c语言的相似但是在创建上略有不同 数组的创建及初始化 T[] 数组名 new T[N]; T:表示数组中存放元素的类型 T[]:表示数组的类型 N:表示数组的长度 动态初始化 int[] array new int[10]; 静态初始化 int[] array1 new …

边缘计算基础介绍及AKamai-linode产品分析

1、背景 随着互联网的发展,我们进入了大数据时代,这个时代也是移动互联网的时代,而且这个时代,大量的线下服务走到线上,随之而来的,比如外卖、叫车……于是,有各种各样的 App 和设备在收集你的…

基于DWT(离散小波变换)的图像水印算法,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

nodejs+vue高校师资管理系统python-flask-django-php

快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,然后线上管理系统也就相继涌现。与此同时,人们开始接受方便的生活方式…

nginx: [emerg] stream directive is duplicate in /etc/nginx/nginx.conf:56

背景: 在维护paas平台的时候发现一个web前端容器服务运行报错,提示如下: 问题分析: 根据日志的内容,发现是nginx.conf配置文件的stream模块配置存在问题导致的。需要查看一下nginx.conf配置文件的内容: 注…

Soybean Admin:基于 Vue3、Vite3、TypeScript、NaiveUI、Pinia 和 UnoCSS 的清新优雅的中后台模版

一、引言 随着互联网技术的快速发展,前端开发领域也在不断演进。Soybean Admin 作为一个基于最新前端技术栈的中后台模版,为开发者提供了一个高效、规范、灵活的解决方案。本文将深入探讨 Soybean Admin 的技术特性及其在中后台前端开发中的优势。 二、…

android h5理财(记账)管理系统eclipse开发mysql数据库编程服务端java计算机程序设计

一、源码特点 android h5理财管理系统是一套完善的WEBandroid设计系统,对理解JSP java,安卓app编程开发语言有帮助(系统采用web服务端APP端 综合模式进行设计开发),系统具有完整的源代码和数据库,系统主要…

从零开始的 dbt 入门教程 (dbt cloud 自动化篇)

一、引 在前面的几篇文章中,我们从 dbt core 聊到了 dbt 项目工程化,我相信前几篇文章足够各位数据开发师从零快速入门 dbt 开发,那么到现在我们更迫切需要解决的是如何让数据更新做到定时化,毕竟作为开发我们肯定没有经历每天定…

基于springboot实现在线拍卖系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现在线拍卖系统演示 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍…

[热门]通义灵码做活动,送挺多礼品,快来薅羊毛!!!

你的编辑器装上智能ai编辑了吗,的确挺好用的。 最近阿里云AI编码搞活动,可以免费体验并且还可以抽盲盒。有日历、马克杯、代金券、等等其他数码产品。 大多数都是日历。 点击链接参与「通义灵码 体验 AI 编码,开 AI 盲盒」 https://develope…

PCI产业概述和产业发展动态分享

atsec白海蔚 2024年3月底 关键词:支付卡产业、PCI DSS、数据安全、支付交易 本文为atsec和作者技术共享类文章,旨在共同探讨信息安全的相关话题。转载请注明:atsec和作者名称。 *如有兴趣了解早期产业信息请参见作者于2021年4月发布信息&a…

液晶显示解决方案T-CON面板显示驱动PMIC芯片

随着数智时代的到来,高清电影、游戏、VR/AR、车载等对多屏、大尺寸、更清晰显示设备的需求越来越高;特别是在智能手机、平板电脑、电视、广告展示和显示器等消费电子产品领域;高效、稳定、多功能的电源管理芯片变得至关重要。 对于LCD TV显示…

Linux-安装redis

安装指令 sudo apt-get install redis-server 启动服务 sudo systemctl start redis 查找redis路径 find / -name "filename" linux redis修改密码 sudo nano /etc/redis/redis.conf 找到 "requirepass" 这一行,取消注释并设置新的密码&…

算法练习-常用查找算法复现

一个不知名大学生,江湖人称菜狗 original author: Jacky Li Email : 3435673055qq.com Time of completion:2024.03.24 Last edited: 2024.03.24 目录 算法练习-常用查找算法复现 第1关:顺序查找(算法7.1和7.2) 任务…

第二十章 TypeScript(webpack构建ts+vue3项目)

构建项目目录 src-- main.ts-- App.vue--shim.d.tswebpack.config.jsindex.htmlpackage.jsontsconfig.json 基础构建 npm install webpack -D npm install webpack-dev-server -D npm install webpack-cli -D package.json 添加打包命令和 启动服务的命令 {"scripts…

使用PySimpleGUI库打造一款轻量级计算器

目录 一、PySimpleGUI简介 二、安装PySimpleGUI 三、创建计算器界面 四、实现计算器的功能 五、总结 在Python的世界中,GUI(图形用户界面)库的选择多种多样,但如果你是一个新手,或者想要快速且简单地创建一个G…

谷粒商城——Redisson看门狗

可重入锁: 看门狗机制:(lock.lock()不设置过期时间就会自动触发 看门狗机制) 如果一个线程已经上锁后,在运行的过程中中断导致未释放锁从而导致其他线程无法进行,为此需要为每个锁设置自动过期时间。但是如果线程运行时间较长&am…