# Redis介绍和安装方法 ## 目录 1. [Redis概述](#1-redis概述) - 1.1 [什么是Redis](#11-什么是redis) - 1.2 [Redis发展历史](#12-redis发展历史) - 1.3 [Redis核心特性](#13-redis核心特性) 2. [Redis应用场景](#2-redis应用场景) - 2.1 [缓存系统](#21-缓存系统) - 2.2 [会话存储](#22-会话存储) - 2.3 [排行榜/计数器](#23-排行榜计数器) - 2.4 [消息队列](#24-消息队列) - 2.5 [地理空间应用](#25-地理空间应用) 3. [Redis数据结构](#3-redis数据结构) - 3.1 [String](#31-string) - 3.2 [List](#32-list) - 3.3 [Hash](#33-hash) - 3.4 [Set](#34-set) - 3.5 [Sorted Set](#35-sorted-set) - 3.6 [其他高级数据结构](#36-其他高级数据结构) 4. [Redis安装准备](#4-redis安装准备) - 4.1 [系统要求](#41-系统要求) - 4.2 [下载Redis](#42-下载redis) 5. [Linux系统安装](#5-linux系统安装) - 5.1 [编译安装](#51-编译安装) - 5.2 [配置Redis](#52-配置redis) - 5.3 [启动和停止](#53-启动和停止) - 5.4 [系统服务配置](#54-系统服务配置) 6. [Windows系统安装](#6-windows系统安装) - 6.1 [官方Windows版本](#61-官方windows版本) - 6.2 [WSL安装方式](#62-wsl安装方式) 7. [Docker方式安装](#7-docker方式安装) - 7.1 [Docker安装Redis](#71-docker安装redis) - 7.2 [持久化配置](#72-持久化配置) 8. [Redis基础配置](#8-redis基础配置) - 8.1 [网络配置](#81-网络配置) - 8.2 [内存管理](#82-内存管理) - 8.3 [持久化配置](#83-持久化配置) - 8.4 [安全配置](#84-安全配置) 9. [Redis客户端连接](#9-redis客户端连接) - 9.1 [命令行客户端](#91-命令行客户端) - 9.2 [GUI工具](#92-gui工具) - 9.3 [编程语言客户端](#93-编程语言客户端) 10. [Redis性能测试](#10-redis性能测试) - 10.1 [redis-benchmark](#101-redis-benchmark) - 10.2 [性能优化建议](#102-性能优化建议) 11. [Redis高可用方案](#11-redis高可用方案) - 11.1 [主从复制](#111-主从复制) - 11.2 [哨兵模式](#112-哨兵模式) - 11.3 [Redis Cluster](#113-redis-cluster) 12. [常见问题解决](#12-常见问题解决) - 12.1 [安装问题](#121-安装问题) - 12.2 [性能问题](#122-性能问题) - 12.3 [数据问题](#123-数据问题) 13. [Redis学习资源](#13-redis学习资源) - 13.1 [官方文档](#131-官方文档) - 13.2 [推荐书籍](#132-推荐书籍) - 13.3 [在线课程](#133-在线课程) --- ## 1. Redis概述 ### 1.1 什么是Redis Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储系统,由Salvatore Sanfilippo开发。它通常被用作数据库、缓存和消息代理,支持多种数据结构,包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。 主要特点: - 内存存储:数据主要存储在内存中,提供极高的读写性能 - 持久化:支持RDB快照和AOF日志两种持久化方式 - 数据结构丰富:支持多种高级数据结构 - 原子操作:所有操作都是原子性的 - 高可用:支持主从复制、哨兵模式和集群模式 ### 1.2 Redis发展历史 Redis的发展历程: - 2009年:Salvatore Sanfilippo首次发布Redis - 2010年:Redis 2.0发布,支持虚拟内存 - 2012年:Redis 2.6发布,引入Lua脚本 - 2013年:Redis 2.8发布,引入主从复制改进 - 2015年:Redis 3.0发布,支持集群 - 2017年:Redis 4.0发布,引入模块系统 - 2018年:Redis 5.0发布,改进流数据类型 - 2020年:Redis 6.0发布,支持多线程I/O - 2022年:Redis 7.0发布,新增函数功能 ### 1.3 Redis核心特性 1. **高性能**:单机QPS可达10万+ 2. **持久化**: - RDB(Redis Database):定时快照 - AOF(Append Only File):记录所有写操作 3. **高可用**: - 主从复制 - Redis Sentinel(哨兵) - Redis Cluster(集群) 4. **丰富的数据类型**: - 基础类型:String, List, Hash, Set, Sorted Set - 高级类型:Bitmaps, HyperLogLogs, Streams 5. **原子操作**:支持事务和Lua脚本 6. **发布/订阅**:支持消息发布订阅模式 --- ## 2. Redis应用场景 ### 2.1 缓存系统 作为缓存层,减轻数据库压力: - 热点数据缓存 - 页面缓存 - 会话缓存 ### 2.2 会话存储 存储用户会话信息: - 分布式会话共享 - 单点登录(SSO)实现 ### 2.3 排行榜/计数器 利用Sorted Set实现: - 游戏排行榜 - 社交网络点赞数 - 页面访问计数 ### 2.4 消息队列 使用List或Stream实现: - 任务队列 - 消息中间件 - 事件通知系统 ### 2.5 地理空间应用 使用GEO数据类型: - 附近的人 - 位置服务 - 地理围栏 --- ## 3. Redis数据结构 ### 3.1 String 最基本的数据类型: ```bash SET key value GET key INCR key DECR key
有序字符串集合:
LPUSH key value RPOP key LRANGE key start stop
字段-值映射表:
HSET key field value HGET key field HGETALL key
无序唯一字符串集合:
SADD key member SMEMBERS key SINTER key1 key2
带分数的有序集合:
ZADD key score member ZRANGE key start stop ZREVRANK key member
官方下载地址:
https://redis.io/download
最新稳定版(示例):
wget https://download.redis.io/redis-stable.tar.gz
tar -xzvf redis-stable.tar.gz cd redis-stable
make make install
redis-server --version
主要配置文件redis.conf
:
daemonize yes # 后台运行 bind 0.0.0.0 # 监听所有网络接口 protected-mode no # 关闭保护模式 requirepass yourpassword # 设置密码
启动Redis:
redis-server /path/to/redis.conf
停止Redis:
redis-cli shutdown
创建systemd服务文件/etc/systemd/system/redis.service
:
[Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always [Install] WantedBy=multi-user.target
https://github.com/microsoftarchive/redis/releases
redis-server.exe redis.windows.conf
wsl --install
拉取官方镜像:
docker pull redis
运行容器:
docker run --name myredis -d redis
带持久化的运行方式:
docker run --name myredis \ -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf \ -v /myredis/data:/data \ -d redis redis-server /usr/local/etc/redis/redis.conf
(由于篇幅限制,以下章节内容将简要概述,实际文章应详细展开)
Redis作为高性能的内存数据库,在现代应用架构中扮演着重要角色。通过本文的安装和配置指南,您应该已经掌握了Redis的基本使用方法。建议进一步学习Redis的高级特性和集群配置,以充分发挥其潜力。
”`
注:实际8500字文章需要将每个章节详细展开,特别是配置示例、性能优化、高可用方案等部分需要增加详细说明和实际案例。本文档提供了完整框架和主要内容,可按需扩展具体细节。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。