简介

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台非关系型数据库

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存分布式可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API

Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)哈希(Hash)列表(list)、**集合(sets)有序集合(sorted sets)**等类型。

Redis 采用经典的Server-Client架构。

高性能

C语言编写,Redis 数据存储在内存中,因此能够提供极快的读写操作。它采用单线程模型异步 I/O,避免了多线程的竞争和阻塞,从而达到了非常高的性能。

Redis的命令是原子性的。

获取请求达到每秒110000次,设置请求达到每秒80000次。

Redis基于内存操作,CPU不是其性能瓶颈,其性能瓶颈是内存频率和网络带宽。

注意:高性能服务器不一定是多线程的,因为线程切换需要进行上下文切换,会消耗一定的资源。

数据结构多样

Redis 支持多种数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。这些数据结构提供了丰富的操作命令,使得开发者可以方便地处理各种数据需求。

持久化支持

Redis 提供了两种持久化方式,即快照(Snapshotting)和日志追加(Append-only file,AOF)。快照方式将 Redis 内存数据以二进制格式写入磁盘,而 AOF 则通过追加记录 Redis 的操作命令来实现持久化。

发布/订阅

Redis 支持发布/订阅模式,可以用作消息代理。发布者将消息发送到指定的频道,订阅者则可以接收和处理这些消息。这种模式在构建实时通信事件驱动系统消息队列等场景中非常有用。

分布式缓存

Redis 可以通过主从复制分片来实现数据的分布式存储和高可用性。主从复制可以将数据复制到多个从节点,实现读写分离数据备份。而分片则可以将数据分布在多个Redis节点上,实现横向扩展负载均衡

事务支持

Redis 支持事务,但其与常规事务不同,无法实现原子性

功能丰富

Redis不仅仅是一个简单的缓存,它还提供了许多其他功能,如事务支持Lua脚本执行定时任务原子操作等。这使得开发者可以在Redis中实现更复杂的应用逻辑。

参考 https://redis.com.cn/redis-intro.html Redis中文网

Redis从入门到进阶 文章被收录于专栏

redis的学习路线及个人心得。基于linux,因此需要具备一定的linux基础,以及具备一定的计算机基础。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务