Redis基础笔记总结
需积分: 0 4 浏览量
更新于2024-04-23
收藏 54.78MB PDF 举报
### Redis基础笔记总结
#### 一、Redis入门概述
##### 1.1 Redis是什么
- **定义**: Remote Dictionary Server(远程字典服务器)是一种开源的、高性能的键值(Key-Value)数据库。
- **语言**: 使用ANSI C语言编写,遵循BSD许可协议。
- **特性**:
- **内存存储**: 数据主要存储于内存中,以提高访问速度。
- **数据结构丰富**: 提供了多种数据结构的支持,包括字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)、有序集合(Sorted Sets)等。
- **事务支持**: 支持事务处理,确保数据的一致性和完整性。
- **持久化机制**: 可以将内存中的数据定期保存到磁盘,支持RDB和AOF两种持久化方式。
- **脚本执行**: 支持Lua脚本执行,用于复杂操作的原子化处理。
- **发布/订阅模式**: 实现消息传递功能。
- **缓存淘汰策略**: 支持多种缓存淘汰策略,如LRU、LFU等。
- **流(Streams)**: 流是一种新的数据结构,主要用于消息队列等场景。
- **作者**: Redis由Salvatore Sanfilippo(被称为Antirez)创建。
- **GitHub**: <https://github.com/antirez>
- **个人博客**: <http://antirez.com/>
##### 1.2 Redis能干嘛
- **主流功能与应用**:
- **分布式缓存**: 作为MySQL数据库前的“带刀护卫”,有效减少数据库负载。
- **内存存储与持久化**: 提供内存高速访问的同时支持将数据异步保存到磁盘,保证数据安全。
- **高可用架构**: 包括单机模式、主从复制、哨兵监控和集群部署等方案。
- **缓存穿透、击穿、雪崩问题的解决**: 通过合理的缓存设计避免这些问题的发生。
- **分布式锁**: 实现多个系统间的同步控制。
- **消息队列**: 利用列表(Lists)或集合(Sets)实现消息队列的功能。
- **排行榜与点赞**: 使用有序集合(Sorted Sets)快速实现复杂的排行榜功能。
- **优势**:
- **高性能**: 读取速度可达110000次/秒,写入速度达81000次/秒。
- **丰富的数据类型**: 支持多种数据结构,满足不同的应用场景需求。
- **持久化支持**: RDB快照和AOF日志两种持久化方式保证数据的持久性。
- **数据备份**: 主从复制模式下实现数据备份,提高系统的可用性。
- **总结**: Redis凭借其高性能、丰富的数据结构和强大的功能集,在缓存、消息队列、排行榜等领域有着广泛的应用。
#### 二、Redis下载
- **官网地址**:
- 英文: <https://redis.io>
- 中文: <http://www.reids.cn/>
- 文档: <https://www.redis.com.cn/documentation.html>
- **下载页面**: <https://redis.io/download>
- **其他资源**:
- 源码: <https://github.com/redis/redis>
- 在线测试: <https://try.redis.io/>
- 命令参考: <http://doc.redisfans.com>
#### 三、Redis迭代演化和Redis7新特性浅谈
- **时间推移与版本升级**:
- 官方博客: <http://antirez.com/news/132>
- 版本迭代历程中的一些重要里程碑。
- **Redis7.0新特性**:
- **Redis Functions**: 提供函数调用的能力,扩展Redis的功能边界。
- **Client-eviction**: 客户端驱逐机制,用于管理连接资源。
- **Multi-part AOF**: 改进AOF持久化机制,提高写入效率。
- **ACL V2**: 对访问控制列表进行了重大更新。
- **新增命令**: 引入了一些新的命令以增强功能。
- **listpack代替ziplist**: 底层数据结构的优化,提高了性能。
- **性能提升**: 通过底层改进提升了整体性能。
#### 四、Redis安装卸载配置
- **Linux版安装**
- **GCC编译环境**:
- GCC简介: GCC是GNU Compiler Collection的缩写,是一套用于编译多种编程语言(如C/C++等)的工具集合。
- 功能: 编译、链接等。
- 平台支持: 跨平台支持多种硬件架构。
- 影响力: 在自由软件领域具有重要地位。
- 必备条件: 安装Redis之前需确保系统已安装GCC。
- **安装步骤**:
- 确认具备C++库环境。
- 下载Redis源码包(如redis-7.0.0.tar.gz)。
- 解压并编译安装。
通过以上内容,我们可以看到Redis不仅在性能上有显著优势,而且在功能多样性方面也有出色表现,这些特点使得Redis成为现代应用开发中不可或缺的一部分。无论是用于构建高效的缓存系统还是实现复杂的数据结构操作,Redis都能提供强大的支持。