redis是什么?
Redis是一个基于内存
、可持久化
、键值对模式
的NoSQL数据库
优点是速度快(单线程,IO多路复用)、高性能、高可靠、可持久化(rdb,aof),支持丰富的数据结构
redis能用来做什么
0、分布式锁
主要利用redis的setnx命令进行,setnx:“set if not exists”,如果不存在则成功
其他实现方式:数据库、zookeeper
1、缓存
由于redis数据放在内存所以访问速度块、支持的数据类型比较丰富,所以redis很适合用来缓存数据
这里一般是做分布式缓存,本地缓存不需要用redis。
其他实现方式:自定义数据结构(例如java里的hashMap)
2、保存限时数据
redis中可以使用expire命令设置一个键的生存时间,到时间后redis会删除它。利用这一特性可以运用在限时的优惠活动信息、手机验证码等业务场景。
3、计数器相关问题
redis由于incrby命令可以实现原子性的递增,所以可以运用于高并发的秒杀活动、分布式序列号的生成、具体业务还体现在比如限制一个手机号发多少条短信、一个接口一分钟限制多少请求、一个接口一天限制调用多少次等等。
4、排行榜相关问题
关系型数据库在排行榜方面查询速度普遍偏慢,所以可以借助redis的SortedSet进行热点数据的排序。
Redis和Memcache区别
从数据结构上来说</