Redis学习--Redis的事务与持久化
一、Redis的事务 Redis的事务与mysql中的事务是不一样的,Redis的事务主要是用来处理线程安全性问题。它的定义为:Redis事务是一个单独的隔离操作,事务中所有的命令都会序列化,按顺序地执行。事务在执行过程中,不会被其他客户端命令打断。 Redis执行命令是一个队列,它会把一堆命令都放在一个队列中然后顺序执行。因此Redis的执行命令有两个状态:第一个是组队状态,就是将要执行的命令组队在一起,如果组队过程中某个命令出错了,那么执行时整个队列命令都会取消;第二个状态是执行状态,如果执行状态中某个命令出错了,则只是出错的命令不会执行,其他的任然会继续执行。 Redis事务的三个特点: 1.单独的隔离操作。 2.没有隔离级别的概念。 3.不保证原子性,这是因为命令出错会继续执行,不会进行回滚。 二、Redis的持久化 1.RDB持久化方式 在指定的时间间隔内将内存中的数据集快照写入磁盘,在进行数据恢复时,将快照文件直接读取到内存中。 RDB的特点: 优点: a.节省磁盘空间,这是因为RDB的持久化方式是会将当前时间前的数据快照进行清理,因此存储的快照只会是最近几次的。 b.恢复速度快,恢复的数据已经有了只是作一次拷贝,因此速度很快。 缺点: a.备份快照的方式是根据时间周期进行备份,如果Redis意外的宕机