【Redis】Redis特性

认识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写的,所以不能主观的把这些原因推到底层语言上)
  • 40
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值