Redis 简介与 Linux 环境安装
为什么选择 NoSQL?
关系型数据库(RDBMS)以 ACID(原子性、一致性、隔离性、持久性)四大特性著称,适合处理复杂事务。但在高并发网络应用面前,为了保证数据约束性和减少冗余,多表连接操作往往成为性能瓶颈。
相比之下,非关系型数据库(NoSQL)在大规模并发访问下展现出极高的效率优势。Key-value 存储是 Redis 的核心特点之一。如今我们提到的 NoSQL 通常指非关系型分布式数据库。
对比分析
| 特性 | 关系型数据库 | 非关系型数据库 |
|---|---|---|
| 优势 | 1. 擅长小数据量处理 2. 支持复杂 SQL 操作(Join 等) 3. 可视化报表生成方便 | 1. 擅长海量数据的读写,尤其高并发业务 2. 响应极快(内存存储),数据类型灵活 3. 数据结构变更无需修改原有结构 4. 突破性能瓶颈(如 Redis 50 万并发下读取可达 11 万次/秒) |
| 劣势 | 1. 高并发写操作速度慢 2. 表结构变更成本高 3. 字段不固定时扩展困难 4. 简单查询大表效率低 | 1. 不提供复杂 API 接口 2. 通常仅支持 Key 索引 3. 不适合小数据量精细处理 |
Redis 核心特性
Redis 是一个开源的 key-value 存储系统,支持网络交互,基于内存并可持久化。它提供多种语言的 API,支持的数据类型包括:
- String(字符串)
- List(链表)
- Set(集合)
- Zset(有序集合)
- Hash(哈希类型)
与 Memcached 类似,数据缓存在内存中以保证效率。区别在于 Redis 会周期性将数据写入磁盘或追加日志文件,并实现了 Master-Slave(主从)同步机制。
Linux 环境下安装 Redis
以下以 CentOS Linux (release 7.3.1611) 为例,演示从源码编译到服务化启动的全过程。
1. 准备环境
首先确认系统版本,并检查是否安装了必要的依赖工具 wget、gcc 和 tcl。
# 查看系统版本
cat /etc/redhat-release
# 安装 gcc 和 tcl(Redis 编译依赖)
yum install gcc tcl -y
如果没有 wget 命令,可先切换至根目录进行安装:
cd /
yum install wget -y
2. 下载与解压
进入 /opt 目录创建 Redis 文件夹,下载指定版本并解压。
cd /opt/
mkdir redis
cd redis/
# 下载 Redis 4.0.6 版本
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
tar -zvxf redis-4.0.6.tar.gz


