1.简单介绍一下Redis
Redis是基于C语言开发的非关系型数据库。
Redis的数据是存放在内存中的,所以读写速度非常快。
Redid常见的应用场景有:缓存。
2.缓存数据的处理流程是怎样的?
流程:
1.如果用户请求的数据哎缓存中就直接返回
2.缓存中不存在的话就看数据库中是否存在
3.数据库中存在的话就更新缓存中的数据
4.数据库中不存在的话就返回空数据
3.为什么采用Redis作为缓存
高性能:
如果用户第一次访问数据库中的某些数据的话,这个过程是比较慢的,毕竟是从硬盘中读取的,但是,如果说,用户访问的数据属于高频数据并且不会经常改变的话,那么我们就可以很放心地将用户访问的数据存在缓存中。
这样用户下次访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。
不过,要保证数据库和缓存中数据的一致性。如果数据库中的对应数据改变之后,要同步改变缓存中相应的数据。
高并发:
一般像MySQL这类的QPS大概在1W左右(4核8G),但是使用Redis缓存后,很容易达到10w+的并发量,甚至最高的可以达到30W+(redis集群的话会更高)。
QPS(Query Per Second):服务器每秒可以执行的查询次数
所以直接操作缓存能够承受的数据库请求数量远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。进而,我也就提高系统的整体并发量。