初识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自身是支持"主从结构"的,从节点就相当于主节点的备份。

相关推荐
这个DBA有点耶3 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
karry_k3 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k3 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
这个DBA有点耶5 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技5 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend6 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
SamDeepThinking7 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
ClouGence9 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
她的男孩10 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码12 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python