初识Redis---Redis的特性介绍

Redis是一个可以在内存中存储数据的中间件,可以用于作为数据库,也可以用作为数据缓存等等功能,合理的使用Redis,能够在分布式系统中大展拳脚

1.Redis特性介绍

1.最大的特点---速度快

访问和获取Redis中存储的数据快是Redis的一个最大特性

为什么访问和获取Redis中的数据速度快呢?

1.因为Redis中的数据是存储在内存中的,这样就比将数据存储在硬盘中的速度快

2.因为Redis的核心功能都是比较简单的逻辑,核心功能都是比较简单的操作内存中的数据结构

3.因为Redis采用的是单线程模型,这就避免了多线程模型中多个线程之间的竞争开销

4.从网络的角度来说,Redis采用了IO多路复用的方式,简单来说就是一个线程管理多个socket

5.因为Redis使用C语言开发的(持怀疑态度)

2.内存数据结构

Redis是通过一些类的数据结构将数据存储在内存中,Redis中主要是通过"键值对"的形式来存储数据的,是一种非关系型数据库。在Redis中,所有的key都是String类型,而value不仅可以是字符串,也可以是具体的数据结构,value主要是提供5中数据结构类型,分别是字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(orderd set/zet),这样不仅能够便于在许多应用场景中使用,同时也能够提高开发效率

3.可编程性

可编程性也就是,针对redis的操作,可以直接通过简单的交互式命令进行操作,也可以通过一些脚本的方式(Lu编程语言),批量执行一些操作,这些操作可以带有一些逻辑

4.拓展性

拓展性就是Redis中提供了一组API,可以让我们在Redis原有的功能基础上去拓展新的功能

5.数据持久化

Redis是将数据存储在内存中的,这样就会有一个缺点,就是当程序重启时,存储在内存中的数据就会丢失,为了解决内存数据容易丢失的问题,Redis也会把数据存储到硬盘中,相当于是将内存中的数据备一份到硬盘中,是一种内存为主,硬盘为辅,如果Redis重启了,就会在重启时加载硬盘中的数据,使Redis恢复到重启之前的状态。

且Redis中提供了两种持久化方式:RDB和AOF

6.集群性

作为分布式系统中的一个中间间,Redis支持集群分布是一个很重要的特性,集群性类似于分库分表,比如,因为内存空间有限,就导致一个机器上的redis存储的数据是有限的,但是可以引入多台机器,部署多个Redis节点,让每个Redis节点存储一部分数据

7.高可用性

高可用性也可以理解为备份,Redis自身是支持"主从结构"的,从节点就相当于主节点的备份。

相关推荐
WeiXiao_Hyy2 分钟前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
玄同7652 分钟前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
吾日三省吾码4 分钟前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql
chian-ocean5 分钟前
百万级图文检索实战:`ops-transformer` + 向量数据库构建语义搜索引擎
数据库·搜索引擎·transformer
苏渡苇8 分钟前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
团子的二进制世界14 分钟前
G1垃圾收集器是如何工作的?
java·jvm·算法
long31619 分钟前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
小Tomkk25 分钟前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
rannn_1111 小时前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
灵感菇_1 小时前
Java HashMap全面解析
java·开发语言