1 - 基础知识
redis 基础知识
Redis简介
redis是一种基于内存的数据库,用作数据库、缓存、消息代理和流引擎。
常用做mysql的缓存,因为redis具备【高性能】和【高并发】两种特性。
数据类型与使用场景
- string :缓存对象,常规计数,分布式锁,共享session信息等。
- hash : 缓存对象,购物车
- set : 聚合计算场景(并集,交集,差集),如 点赞,共同关注、抽奖活动等。
- list : 消息队列,但是有两个问题:1.生产者需要自行实现全局唯一ID;2.不能以消费者组形式消费数据
- zset : 排序场景,如排行榜、电话、姓名排序等
- bitmap: 统计场景,如签到、判断用户登陆状态,连续签到用户总数等
- hyperloglog: 海量数据基数统计场景,如百万网页 UV 计数等
- GEO 存储地理位置信息的场景,如滴滴叫车
- stream : 消息队列。相比list,1.自动生成全局唯一消息ID,2.支持消费组形式消费数据
线程模型
Redis单线程是指【接受客户端请求->解析请求->进行数据读写等操作->发送数据到客户端】这个过程是由一个线程来完成的。