1,Redis数据结构

redis是一个开源的键值对(key-value)数据库。它的value支持五种类型,分别为字符串类型,哈希,字符串列表,字符串集合,字符串有序集合。
1)字符串(String)
字符串类型是redis中最为基础的数据类型。它存入和取出的数据相同。在Redis中value值可支持的最大长度512M
2)哈希(hash)
Redis中的hash类型,可以看作value值为具有String类型key和String类型value的一个map集合。所以该类型非常适合于存储值对象信息。每个hash可以存储4294967295的键值对。
3)字符串列表(list)
在Redis中,list类型底层使用的数据结构是链表结构,相当于栈。可以在头部或者尾部添加,删除元素
4)字符串集合(set)
在Redis中,我们可以将set看作没有排序的list集合。它可以同list一样,进行元素的增加,删除,判断是否存在等。set集合的元素不能重复。set类型还具有聚合计算操作,如unions等
5)字符串有序集合(sortedset)
sortedset和set非常相似。它们额主要差别是sortedset中的每个成员都对应着一个score,redis通过score来对集合中的成员进行排序。
注意:成员不能重复,score可以重复

2,Redis事务

1,在事务中所有的命令都会得到串行化的顺序执行。事务执行期间,redis不会再为其他客户端请求提供任何服务。
2,在redis中,如果有一条命令执行错误,后面的命令仍然会继续执行。
3,multi:开启事务,其后执行的命令都会存入命令队列。
4,exec:提交事务
5,discard:回滚事务

3,Redis持久化

Nosql数据库一般把数据存放到内存中,Redis也不列外。为了使Redis重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中。这一过程叫做持久化。
Redis支持RDB和AOF两种持久化方式。
1,RDB持久化(默认支持,无需配置)
该机制是指,在指定的时间间隔内将内存中的数据集快照写入硬盘中。
2,AOF持久化
该机制将以日志的形式记录服务器处理的每一个写操作,在Redis服务器启动之前会读取该文件来重新构建数据库,以保证启动后的数据库的数据是完整的。