20250708-01-redis特点及安装使用_笔记

一、Redis

1. Redis介绍

  • 定义: Redis是一个开源的、BSD许可的高级键值存储系统
  • 官方描述: 常被称为数据结构服务器,因为键可以包含字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和有序集合(sorted sets)
  • 官方网站: redis.io(后缀.io暗示其高性能特性)
2. Redis特点

1)与Memcached的区别

  • 定位差异:
    • Memcached: 明确自称是"内存对象缓存系统"(memory object caching system),主要用于加速动态web应用
    • Redis: 定位为"高级键值存储"(advanced key-value store),设计目的更偏向数据存储
  • 功能差异:
    • Memcached: 仅支持简单的键值存储
    • Redis: 支持丰富的数据结构(string, hash, list, set, sorted set)
  • 持久化:
    • Redis: 原生支持持久化和集群功能
    • Memcached: 纯内存缓存,不提供持久化机制
2)核心特性
  • 开源许可: 采用BSD许可证
  • 数据结构丰富: 支持5种主要数据结构
  • 集群支持: 原生支持集群部署
  • 持久化机制: 提供数据持久化方案
  • 扩展性: 可通过PHP等客户端进行操作
  • 实战应用: 适合与MySQL配合实现高速写入场景(如微博热数据)
3. Redis特点及安装

1)Redis与Memcached的比较

  • 存储定位差异:
    • Redis本意用于存储(Storage),数据可持久化保存
    • Memcached主要用于缓存(Cache),数据临时存储
  • 数据安全性:
    • Redis支持持久化,内存数据可同步到硬盘,适合存储关键数据
    • Memcached数据可能随时丢失,仅作为查询加速的临时备份
  • 典型应用场景:
    • Redis:用户注册信息等需要长期保存的数据
    • Memcached:临时缓存查询结果缓解数据库压力
2)Redis介绍



  • 基本属性:
    • 开源项目,采用BSD许可证
    • 高级键值(Key-Value)存储系统
    • 支持多种数据结构的数据服务器
  • Redis与Memcached的区别

    

    • 功能定位:
      • Redis:完整存储解决方案,支持持久化
      • Memcached:轻量级缓存工具
    • 数据结构支持:
      • Redis支持5种数据结构:字符串、哈希、链表、集合、有序集合
      • Memcached仅支持字符串类型
    • 发展历史:
      • Redis相对年轻(2008-2009年推出)
      • Memcached历史更悠久
  • Redis的持久化功能

    • 实现原理:
      • 将内存数据同步到硬盘/光盘等永久存储介质
    • 核心价值:
      • 确保数据安全不丢失
      • 支持关键业务数据存储
    • 典型应用:
      • 用户账户信息存储
      • 交易记录保存
  • Redis的数据结构类型

    

    • 支持的数据结构:
      • 字符串(String)
      • 哈希(Hash)
      • 链表(List)
      • 集合(Set)
      • 有序集合(Sorted Set)
    • 与Memcached对比:
      • Memcached仅支持字符串单一类型
      • Redis数据结构丰富,适用场景更广
  • Redis在NoSQL领域的地位

    

    • 市场表现:
      • 虽起步较晚(2008-2009)
      • 快速获得市场认可
      • 在NoSQL领域占据重要地位
    • 技术优势:
      • 丰富的数据结构支持
      • 可靠的持久化机制
      • 高性能表现
3)Redis安装



  • 官方网站下载

    

    • 版本选择原则:对于开源软件,建议选择最新的稳定版(stable)而非最新版,因为稳定版经过充分测试且代码贡献者众多,更新频繁但稳定性更有保障。
    • 当前稳定版:Redis 8.0.2是当前最新的稳定版本,适合生产环境使用。
    • 下载链接:官方下载地址为http://download.redis.io/releases/
    • redis-7.4.0.tar.gz                                 29-Jul-2024 05:41             3525325
      redis-7.4.1.tar.gz                                 02-Oct-2024 19:19             3529512
      redis-7.4.2.tar.gz                                 06-Jan-2025 15:16             3533864
      redis-7.4.3.tar.gz                                 24-Apr-2025 06:08             3530739
      redis-7.4.4.tar.gz                                 27-May-2025 14:07             3531569
      redis-7.4.5.tar.gz                                 06-Jul-2025 12:24             3532716
      redis-8.0-rc1.tar.gz                               07-Apr-2025 09:21             3806989
      redis-8.0.0.tar.gz                                 02-May-2025 11:21             3824488
      redis-8.0.1.tar.gz                                 13-May-2025 13:35             3811847
      redis-8.0.2.tar.gz                                 27-May-2025 14:03             3815180
      redis-8.0.3.tar.gz                                 06-Jul-2025 12:26             3821948
      redis-8.2-m01.tar.gz                               19-Jun-2025 07:22             3849094
      redis-8.2-rc1.tar.gz                               04-Jul-2025 06:53             3880248

    • 版本管理规范
      • 版本号格式:采用标准的三段式版本号major.minor.patchlevel
      • 稳定性标识:
        • 偶数minor表示稳定版(如2.6.x)
        • 奇数minor表示开发版(如2.7.x)
      • 版本演进:开发版稳定后会升级为下一个偶数版本(如2.7.x稳定后变为2.8)
      • 2.6版本特性
        • 核心改进:
          • 支持Lua脚本
          • 毫秒级过期时间精度
          • 优化的内存使用
          • 无限制的客户端连接数
          • 改进的AOF持久化
        • 完整特性:需查阅官方Release Notes获取全部新特性和修复列表
      • 其他版本说明
        • 2.8版本:
          • 处于RC5候选阶段
          • 主要改进:部分复制重同步、IPv6支持、配置重写等
          • 目前为beta质量,不建议生产环境使用
        • 开发版:仅建议核心开发者使用
        • Windows支持:
          • 非官方支持
          • 微软Open Tech小组维护实验性版本
          • 不建议生产环境使用
  • 下载及安装过程

    

    • Redis下载

      

      • 下载步骤:
        • 进入/usr/local/src目录
        • 使用wget http://download.redis.io/releases/redis-2.6.16.tar.gz命令下载
        • 下载完成后会得到redis-2.6.16.tar.gz压缩包
    • Redis安装步骤

      

      • Redis特点:
        • 开源、BSD许可的高级key-value存储系统
        • 可存储字符串、哈希结构、链表、集合等数据结构
        • 与Memcached相比的独特之处:
          • 可用作存储(storage),具有持久化功能
          • 支持多种数据结构类型,而Memcached仅支持字符串
      • 安装准备:
        • 官方站点:redis.io
        • 下载最新稳定版
        • 解压源码并进入目录
    • 编译与测试

      

      • 编译特点:
        • Redis源码已预先configure过,无需手动configure
        • 直接执行make命令即可开始编译
      • 常见问题处理:
        • 时间错误:由于源码是官方configure过的,生成的文件有时间戳信息,如果虚拟机时间不对(如2012年),会导致编译失败
          • 解决方法:
        • 测试依赖:
          • 执行make test时可能需要TCL 8.4+,可通过yum install tcl安装
    • 安装路径指定

      

      • 安装方法:
        • 使用make PREFIX=/usr/local/redis install命令
        • 注意:PREFIX必须大写
        • 安装完成后会在指定目录下生成bin目录
    • 安装后的文件说明

      

      • 生成的可执行文件:
        • redis-benchmark:性能测试工具
        • redis-check-aof:AOF日志文件检测工具(可检测并修复断电造成的日志损坏)
        • redis-check-dump:快照文件检测工具
        • redis-cli:客户端程序
        • redis-server:服务端程序
      • 后续配置:
        • 复制配置文件:cp /path/redis.conf /usr/local/redis
        • 启动服务:/path/to/redis/bin/redis-server ./path/to/conf-file
        • 连接服务:/path/to/redis/bin/redis-cli [-h localhost -p 6379]
  • 复制配置文件并启动连接

    

    • 复制配置文件

      

      • 配置文件来源: 从Redis源代码目录中复制给定的配置文件到当前安装目录
      • 操作命令: cp /usr/local/src/redis-2.6.16/redis.conf /usr/local/redis/
      • 验证方法: 使用ls命令检查当前目录下是否存在redis.conf文件
    • 安装与文件检查

      

      • 安装目录结构:
        • /usr/local/redis/bin/目录下包含5个关键文件
        • redis-benchmark: 性能测试工具
        • redis-check-aof: AOF日志文件检测工具
        • redis-check-dump: 快照文件检测工具
        • redis-cli: 客户端程序
        • redis-server: 服务端程序
      • 安装验证: 通过ls bin/命令检查上述文件是否存在
    • 启动Redis服务

      

      • 启动命令: ./bin/redis-server ./redis.conf
      • 前台运行特点: 终端会被服务进程占据,不能关闭否则服务会终止
      • 启动成功标志:
        • 显示Redis ASCII艺术logo(宝石形状)
        • 输出"server started"信息
        • 提示"ready to accept connections on port 6379"
    • 连接Redis客户端

      

      • 连接命令: ./bin/redis-cli
      • 默认连接参数: 自动连接127.0.0.1:6379
      • 基础操作验证:
        • set site www.zixue.it: 设置键值对
        • get site: 获取键对应的值
      • 连接中断问题: 如果服务端终止,客户端会显示"connection refused"
    • Redis与Memcached的比较

      

      • 核心区别:
        • 持久化功能: Redis可用作存储(storage),Memcached仅作缓存(cache)
        • 数据结构支持:
          • Memcached仅支持字符串类型
          • Redis支持字符串、链表、哈希、集合、有序集合
      • 命令复杂度: Redis命令比Memcached多得多,因其数据结构更丰富
    • 修改配置使Redis后台运行

      

      • 关键配置项: daemonize yes
      • 修改步骤:
        • 编辑redis.conf文件
        • 找到daemonize no改为yes
        • 保存配置文件
        • 重新启动服务
      • 效果验证: 服务启动后立即返回终端提示符,不占据终端
    • 验证后台运行的Redis服务

      

      • 进程检查方法: 使用ps aux | grep redis查看后台进程
      • 数据持久性验证:
        • 重启服务后之前设置的键值对(site)会丢失
        • 需要配置持久化策略才能保持数据(后续讲解)
      • 服务管理建议: 以后台模式运行适合生产环境,前台模式适合调试
二、知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

Redis简介

开源BSD许可的高级键值存储系统,设计目的主要用于存储而非缓存

与Memcached的核心区别(存储vs缓存)

⭐⭐

Redis特点

支持持久化、丰富数据结构(字符串/哈希/链表/集合/有序集合)

持久化实现原理与数据结构差异

⭐⭐⭐

Redis与Memcached对比

存储功能 vs 纯缓存、多数据结构 vs 仅字符串

应用场景选择依据

⭐⭐⭐⭐

Redis安装步骤

源码编译安装(make/make install)、配置文件修改(daemonize yes)

时间错误处理、TCL依赖安装

⭐⭐

基础操作

SET/GET命令、默认端口6379、redis-cli连接方式

服务端与客户端交互流程

持久化机制

RDB快照与AOF日志两种方式,通过check-aof/check-dump工具校验

数据恢复策略差异

⭐⭐⭐⭐

数据类型操作

字符串/哈希/链表/集合/有序集合的专属命令集

不同结构的适用场景

⭐⭐⭐

集群功能

分布式存储方案设计原理

节点通信与数据分片

⭐⭐⭐⭐

实战应用

微博热数据案例:Redis+MySQL组合实现高速写入与持久化

架构设计权衡点

⭐⭐⭐⭐

运维要点

性能测试(redis-benchmark)、日志检查工具使用

常见故障排查方法

⭐⭐⭐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值