01-Redis 简单介绍

时间:2023-03-09 13:31:07
01-Redis 简单介绍

Redis 简单介绍

1、Redis 是什么

Redis 是一种基于键值对的 NoSQL 数据库,与很多键值对数据库不同, redis 中的值可以有 string, hash , list , set , zset , geo 等多种数据结构和算法组成。

因为 Redis 会将所有的数据都放在内存中,所以它的读写性能非常惊人. 不仅如此, Redis 还可以将内存中的数据利用快照和日志的形式保存到硬盘上。 Redis 还提供了键过期,发布订阅,事务,流水线等附加功能.

2、Redis 重要特性

2.1 速度快

Redis 所有的数据都存放在内存中

Redis 使用 C 语言实现

Redis 使用单线程架构

2.2 基于键值对的数据结构服务器

5种数据结构:字符串,哈希,列表,集合,有序集合

2.3 丰富的功能

提供了键过期功能,可以实现缓存 提供了发布订阅功能,可以实现消息系统

提供了 pipeline 功能,客户端可以将一批命令一次性传到 Redis,减少了网络开销

2.4 简单稳定

源码很少,3.0 版本以后 5 万行左右. 使用单线程模型法

Redis 服务端处理模型变得简单. 不依赖操作系统的中的类库

2.5 客户端语言多

java,PHP,python,C,C++,Nodejs 等

2.6 持久化

RDB 和 AOF

2.7 主从复制

2.8 高可用和分布式

哨兵

集群

3、Redis 应用场景

3.1 缓存-键过期时间

缓存 session 会话

缓存用户信息,找不到再去 mysql 查,查到然后回写到 redis

3.2 排行榜-列表&有序集合

热度排名排行榜

发布时间排行榜

3.3 计数器应用-天然支持计数器

帖子浏览数

商品浏览数

视频播放次数

3.4 社交网络-集合

踩/赞,粉丝,共同好友/喜好,推送,打标签

3.5 消息队列系统-发布订阅

配合 elk 实现日志收集

#### 今天你学习了吗?若有疑问,请留言、私信或加QQ群:647033350,大家一起进步吧!