SQL与NOSQL对比
Redis介绍
诞生于2009年,全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NOSQL数据库。
Redis基本概念
redis为什么快
基于内存(核心),IO多路复用,良好的编码。
redis特征
- 读写性能优异,读的速度是110000次/s,写的速度是81000次/s。
- 支持的数据类型丰富。
- 所有的操作都是原子性的,支持对几个操作全并后的原子性执行。
- 丰富的功能特性,通知、key过期、发布订阅等。
- 持久化,支持RDB、AOF。
- 支持分布式,redis cluster。
redis的使用场景
- 热点数据的缓存
热点数据的缓存一般有两种实施方案:
方案一:读取数据时,先去读redis,如果没有数据,读取数据库,将数据拉入redis,数据实时性相对较差。(要注意缓存击穿,数据库没有要查询的数据,redis就一直没有数据,所有请求就会一直命中数据库。)
方案二:插入数据时,同时写入redis,数据实时性强,但是开发时不便于统一处理。
- 限时业务
给键设置一个有效时间,到期后自动删除,比如手机验证码的业务场景。
- 延时通知操作
用户下单购买某件商品,规定时间内没有付款就取消用户订单。可以使用redis的key失效通知功能,监听key失效后进行的业务操作。
- 分布式锁
多台机器操作同一个redis,利用redis的setnx命令进行,setnx:如果不存在则成功设置缓存同时返回1,否则返回0 。