一、使用场景
1,在大型的秒杀库存扣减,app首页流量高峰,很容易将传统的关系型数据库(mysql,oracle等)给压垮
2,还有很多没必要持久化的数据,比如说短信验证码,点赞数等
3,分布式锁
4,分布式缓存(session共享)
5、当系统有性能瓶颈的时候,比如说表里面有2000万条数据,并且这个表访问量还非常大。增加redis缓存就是一个非常适合的场景。(redis的引入是为了减轻数据库的压力,防止大批量的大数据量查询将mysql压垮)
二、常见问题
1.redis是数据库,mysq|也是数据库,什么时候该用redis,什么时候该用mysq|?
数据库在数据量或者访问频繁、访问量大的情况下,会产生很大的压力。
redis做缓存的意义是为了减轻数据库压力。
至于这个缓存该怎么去规划,Key? value?取决于业务本身。
业务本身:数据结构+算法。根据业务来选取适合业务场景的数据结构,来将数据存放到redis,做缓存。
mysq|会将索引文件(类似于字典的目录)比如说id是个主键索引,会将所有的id以B+树的形式,存放到内存当中。
而redis查询,是直接通过key去查,不用像mysql一一得去遍历B+树(索引文件)。