认识Redis
什么是Redis
-
redis是远程的,有客户端和服务端,可以部署在不同的机器上,之间是通过redis自定义的协议进行传输和交互的
-
我们一般所说的通常是redis的服务端。
-
redis是基于内存的:所有的数据和结构存储在内存中,所以所有的操作都非常高速,所以性能远远优于MySQL;所以比较吃内存
-
Redis是非关系型数据库,MySQL是关系型数据库。(关系型数据库在存储之前必须定义好存储的数据字典,后续的存储数据按照数据字典进行存储,redis不需要)
Redis应用场景
-
缓存(提升系统性能最常用的方法之一)(因为高性能,当我们数据接口比较慢的时候,我们可以把某个接口的的某些数据缓存起来,当下次进行请求的时候,我们就不需要去MySQL中做比较耗时的SQL操作了,而是直接去Redis缓存中把我们需要的数据库数据提取出来)。
-
队列。Redis中提供了List结构,这个结构提供了pop和push操作,Redis保证了pop和push是原子性,基于这个结构和原子性,我们就可以把redis当做队列来使用。push插入队列元素,pop弹出队列元素。
-
数据存储。所有的增删改查都直接从Redis中进行操作,不需要再借用MySQL进行数据存储。
-
网站访问统计
-
数据过期处理
-
分布式集群架构中的session分离
我们可以这么做的基础是:Redis有非常完备的硬盘持久化的机制,有两种持久化机制,配合这两种持久化机制,我们可以把Redis数据定期、持久化到硬盘中,这样可以保证Redis数据的持久性和安全性。