作者:QQ 音乐前端团队
本文将会从:Redis 使用场景与介绍 -> 数据结构与简单使用 -> 小功能大用处 -> 持久化、主从同步与缓存设计 -> 知识拓展 来书写,初学的童鞋只要能记住 Redis 是用来干嘛,各功能的使用场景有哪些,然后对 Redis 有个大概的认识就好啦,剩下的以后有需要的时候再来查看和实践吧~
文章真的有亿点长,下面是目录,建议先收藏再看~
目录- Redis 介绍
- Redis 是什么?
- redis 特性
- Redis 典型使用场景
- Redis 高并发原理
- Redis 安装、启动
- redis conf 配置文件
- Redis 数据结构与命令使用
- 通用全局命令
- 常用全局命令
- 字符串使用
- 哈希 hash
- 列表(lists)
- set 集合和 zset 有序集合
- 小功能大用处
- 慢查询分析
- Pipeline(流水线)机制
- 事务与 LUA
- Bitmaps
- HyperLogLog
- 发布订阅
- GEO
- Redis 客户端
- 持久化、主从同步与缓存设计
- 持久化
- 主从同步
- 缓存
- 知识拓展
- 缓存与数据库同步策略
- 分布式锁
- 关于集群
- Redis 是一个开源(BSD 许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件;
- Redis 支持多种类型的数据结构,如 字符串(strings),散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) ,范围查询, bitMaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询;
- Redis 内置了复制(replication),LUA 脚本(Lua scripting),LRU 驱动事件(LRU eviction),事务(transactions)和不同级别的 磁盘持久化(persistence);
- Redis 通过 哨兵(Sentinel) 和自动分区(Cluster)提供高可用性(high availability)。
- 速度快
- 单节点读110000次/s,写81000次/s
- 数据存放内存中
- 用 C 语言实现,离操作系统更近
- 单线程架构,6.0 开始支持多线程(CPU、IO 读写负荷)
- 持久化
- 数据的更新将异步地保存到硬盘(RDB 和 AOF)
- 多种数据结构 - 不仅仅支持简单的 key-value 类型数据,还支持:字符串、hash、列表、集合、有序集合,
- 支持多种编程语言
- 功能丰富
- HyperLogLog、GEO、发布订阅、Lua脚本、事务、Pipeline、Bitmaps,key 过期
- 简单稳定
- 源码少、单线程模型
- 主从复制
- Redis 支持数据的备份(master-slave)与集群(分片存储),以及拥有哨兵监控机制。
- Redis 的所有操作都是原子性的,同时 Redis 还支持对几个操作合并后的原子性执行。
缓存:
计数器:
消息队列:
排行榜: