在开始 Redis 学习前,要先认识一下 Redis
Redis 的设计,是想要把它当做是一个数据库,一个缓存,或者说是一个消息中间件等,它的主要目的是可以在内存当中举行数据的存储
那么现在问题是,对于数据库来说,应该已经有 MySQL 这样的内容,那为什么还需要有 Redis 来作为一个数据库呢?
🦋 Redis 和 MySQL
不可否认,MySQL 确实是一个很不错的数据库软件,但是它最大的问题在于,它的访问速度比力慢,这个慢是相较于在内存当中的,由于 MySQL 本质上是存储在磁盘上的,而如果使用 Redis 作为数据库,必然会比在磁盘上要快很多,由于这是在内存当中的
但是 Redis 就一定比 MySQL 要强吗?这必然也不是的,Redis 和 MySQL 比起来最大的劣势在于,它的存储空间是有限的,这是一个很严重的问题,这就意味着,虽然有很多需要用到高性能的地方,但是终究是少数,大多数的业务着实都不需要用到特别高的性能
那么有什么特别好的方案呢?可以中和一下 Redis 和 MySQL 的优点,而且还能有一个比力好的办理方案?那就是把 Redis 和 MySQL 联合起来举利用用,也就是我们平常所说的二八原则
🦋 二八原则
使用 MySQL 举行存储数据,优点是内存大,但是缺点是很慢,由于二八原则的存在,所以我们可以把热点数据从 MySQL 中拿出来,存储在 Redis 中,而 Redis 就提供了这样缓存的功能,Redis 中存储的是部分的数据,全量数据照旧以 MySQL 为主,哪怕 Redis 的数据丢掉了,也还可以从 MySQL 中存储出来,这和上面的 Redis 作为数据库是不一样的,这个数据库是一种对于 MySQL 这样的硬盘级别的数据库的内容的一种备份
🦋 Redis 作为会话存储对象