为你自己学Redis
  • README
  • 安装
    • macos下安装redis
  • 第1章 构建Redis开发环境
    • 1.1 Redis概述
    • 1.2 了解必要的Docker技能
    • 1.3 安装和配置基于Docker的Redis环境
  • 第2章 实践Redis的基本数据类型
    • 2.1 Redis缓存初体验
    • 2.2 针对字符串的命令
    • 2.3 针对哈希类型变量的命令
    • 2.4 针对列表类型变量的命令
    • 2.5 针对集合的命令
    • 2.6 针对有序集合的命令
  • 第3章 实践Redis的常用命令
    • 3.1 键操作命令
    • 3.2 HyperLogLog相关命令
    • 3.3 lua脚本相关命令
    • 3.4 排序相关命令
  • 第4章 实践Redis服务器和客户端的操作
    • 4.1 Redis服务器管理客户端的命令
    • 4.2 查看Redis服务器的详细信息
    • 4.3 查看并修改服务器的常用配置
    • 4.4 多个客户端连接远端服务器
  • 第5章 Redis数据库操作实战
    • 5.1 切换数据库操作
    • 5.2 Redis事务操作
    • 5.3 地理位置相关操作
    • 5.4 位图数据类型的应用
    • 5.5 慢查询实战分析
  • 第6章 Redis数据持久化操作
    • 6.1 Redis持久化机制概述
    • 6.2 AOF持久化机制实战
    • 6.3 RDB持久化机制实战
    • 6.4 如何选用持久化方式
  • 第7章 搭建Redis集群
    • 7.1 搭建基于主从复制模式的集群
    • 7.2 搭建哨兵模式的集群
    • 7.3 搭建cluster集群
  • 第8章 GO整合MySQL与Redis
    • 8.1 GO通过redigo读写Redis
    • 8.2 Go与各种Redis数据类型
    • 8.3 Redis与MySQL的整合
    • 8.4 Redis缓存实战分析
  • 第9章 Redis应用场景与案例实现
    • 9.1 Redis消息队列实战
    • 9.2 Go实战Redis分布式锁
Powered by GitBook
On this page
  • 1.1.1 对比传统数据库与NoSQL数据库
  • 1.1.2 Redis的特点
  • 1.1.3 Redis更适合以分布式集群的方式提供服务
  1. 第1章 构建Redis开发环境

1.1 Redis概述

Redis(Remote Dictionary Server)是由Salvatore Sanfilippo开发的key-value(键值对)存储系统.Redis属于NoSQL数据库,进一步讲,Redis是基于键值对存储的NoSQL数据库.

1.1.1 对比传统数据库与NoSQL数据库

NoSQL使用比较简单的数据结构来保存数据,比如Redis用的就是键值对.NoSQL数据库更适用于"数据量小但对性能有一定要求"的场景

1.1.2 Redis的特点

优点:

  1. 由于数据是存储在内存中的,因此查找数据的速度比较快

  2. 支持的数据类型比较多,比如支持字符串、列表和哈希表等

  3. 可以支持事务,同时支持数据的持久化,即能把内存中的数据存入硬盘

缺点:

  1. Redis难以支持在线扩容.尤其是在集群场景里,当存储容量达到上限后,在线扩容会非常困难

  2. Redis是基于内存的,如果短时间内存入大量数据,可能会导致内存问题,比如会出现OOM(内存溢出)异常

  3. Redis工作时是基于单线程的,所以无法充分利用多核机器里的CPU

基于Redis的优缺点,一般会将它用在缓存、秒杀、计数器和排行榜等和性能密切相关的场景里

1.1.3 Redis更适合以分布式集群的方式提供服务

a. 基于主从复制的Redis集群

能避免因单节点失效而带来的服务不可用,且能实现读写分离,以提升Redis系统的并发量

b. 基于Cluster的Redis集群

基于Cluster(槽)的集群能有效扩展Redis缓存的容量,应对高并发场景下的缓存需求

Previous第1章 构建Redis开发环境Next1.2 了解必要的Docker技能

Last updated 1 year ago

基于主从复制的Redis集群示意图
基于Cluster的Redis集群示意图