Redis是什么
开源的,基于键值对的存储服务系统,有多种数据结构,高性能,功能丰富
redis特性
速度快
官网 每秒10w OPS
数据存在内存
使用C语言编写
线程模型使用单线程
持久化
持久化,断电不丢失数据
Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘上
多种数据结构
string、list、set、hash、zset、BitMaps(位图)、HyperLogLog(超小内存唯一值计数)、GEO(地理信息定位)
支持多种编程语言
Java、PHP、Python、Ruby、Golang
功能丰富
发布订阅
支持Lua脚本
支持简单的事务
pipeline
简单
不依赖外部库
单线程模型
主从复制
主服务器
从服务器
数据可以复制
高可用分布式
高可用->Redis-Sentinel(v2.8)支持高可用
分布式->Redis-Cluster(v3.0)支持分布式
典型使用场景
缓存系统
获取数据,先从cache获取数据,再从storage层获取,保存到cache层
计数器
比如一条视频网站的点赞数、评论数等
消息队列系统
发布订阅,异步队列等
排行榜
女神排行榜,富翁排行榜
社交网络
关注数等
实时系统
垃圾邮件处理系统