一 .关系型与非关系型
关系型: mysql oracle
非关系型: mongo redis ES
二. redis重要特性
1.速度快
Redis 所有的数据都存放在内存中
Redis 使用c语言实现
Redis 使用单线程架构/模型简单/减少因为CPU不同核数切换带来的损耗
2.基于键值对的数据结构服务器
5种数据结构:字符串,哈希,列表,集合,有序集合,地理位置
3.丰富的功能
提供了键过期功能,可以实现缓存
提供了发布订阅功能,可以实现消息系统
提供了pipeline功能,客户端可以将一批命令一次性传到 Redis,减少了网络开销
4.简单稳定
源码很少,3.0版本以后5万行左右
使用单线程模型法,使得Redis服务端处理模型变得简单
不依赖操作系统的中的类库
5.客户端语言多
java,PHP,python,C,C++,Nodejs等
6.数据持久化
把所有的数据都存在内存中
RDB和AOF
7.主从复制
8.高可用和分布式
哨兵 redis-sentinel
集群 redis-cluster
三. redis应用场景
1.缓存-键过期时间
缓存session会话
缓存用户信息,找不到再去mysql查,查到然后回写到redis
商城优惠卷过期时间
2.排行榜-列表&有序集合
热度排名排行榜
发布时间排行榜
3.计数器应用-天然支持计数器
帖子浏览数
视频播放次数
商品浏览数
点赞/点踩
4.社交网络-集合
踩/赞,粉丝,共同好友/喜好,推送,打标签
5.消息队列系统-发布订阅
配合elk实现日志收集
网友评论