Redis是什么?
Redis是一种基于键值对的 NoSQL 数据库,与很多键值对数据库不同,redis 中的值可以有string,hash,list,set,zset,geo 等多种数据结构和算法组成。因为 Redis 会将所有的数据都放在内存中,所以他的读写性能非常惊人,不仅如此,Redis 还可以将内存中的数据利用快照和日志的形式保存到硬盘上,Redis 还提供了键过期,发布订阅,事务,流水线等附加功能。
Redis重要特性
1、速度快
- Redis 所有的数据都存放在内存中
- Redis 使用 C 语言实现
- Redis 使用单线程架构
2、基本的数据结构,例如以下几种:
- String: 字符串
- Hash: 散列
- List: 列表
- Set: 集合
- Sorted Set: 有序集合
3、丰富的功能
- 提供了键过期功能,可以实现缓存
- 提供了发布订阅功能,可以实现消息系统
- 提供了 pipeline 功能,客户端可以将一批命令一次性传到 Redis,减少了网络开销
4、简单稳定
- 源码很少,3.0 版本以后 5 万行左右
- 使用单线程模型法,使得 Redis 服务端处理模型变得简单
- 不依赖操作系统中的类库
5、客户端语言多
- java,PHP,python,C,C++,Nodejs 等
6、持久化
- RDB 和 AOF
7、主从复制
8、高可用和分布式
- 哨兵
- 集群
Redis应用场景
1、缓存-键过期时间
- 缓存 session 会话
- 缓存用户信息
2、排行榜-列表&有序集合
- 热度排名排行榜
- 发布时间排行榜
3、计数器应用-天然支持计数帖子浏览数
- 视频播放次数
- 商品浏览数
4、社交网络-集合
- 踩/赞,粉丝,共同好友
5、消息队列系统-发布订阅
- 配合 elk 实现日志收集
Redis学习教程
动力节点的Redis视频教程中,大家能了解NoSQL是什么,NoSQL和关系型数据库的对比优缺点。
掌握Redis是什么、能干什么、如何用;掌握Redis在Windows和Linux下的安装配置、五大数据类型、常用操作命令、Redis持久化、主从复制、事务控制以及用Jedis操作进行Java开发等技术点。
Redis视频教程
https://www.bilibili.com/video/BV1Uz4y1X72A
Redis教程配套资料下载
http://www.bjpowernode.com/?toutiao