Redis学习笔记(一)
1、Redis介绍:
- 概述:redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string,list列表[队列和栈],set[集合],sorted set[有序集合] hash(hash表))
2、Redis优势:
- 性能极高
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
3、redis中存的数据,数据库中是否还要存的问题
- redis只是缓存,不是数据库如mysql,所以redis中有的数据库,mysql中一定有。
- 用户请求先去请求redis,如果没有,再去数据库中去读取。
- redis中缓存一些请求量比较大的数据(这些缓存数据,mysql中一定也是有的),没必要所有数据都缓存到redis中。
- 之所以从缓存中拿数据会快,是因为缓存的数据存在于内存中,不像mysql的数据是存在磁盘上的,即不用经过从磁盘加载到内存这个过程(这个过程是非常耗时和低效的),直接从内存获取数据。
4、Redis持久化的意义:
- redis将数据缓存在内存里面,如果redis宕机了,再重启,内存里的数据不会全部都弄丢;用redis的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化。
- 如果redis宕机了,重启启动,自动从磁盘上加载之前持久化的一些数据,就可以了,也许会丢失少许数据,但是至少不会将所有数据都弄丢 。