Redis的数据类型
Redis总共支持5种数据类型,分别是:
类型
说明,命令
String
set ,get
Hash
HMSET myhash field1 "Hello" field2 "World"
HGET myhash field1
List
lpush lrange
Set
sadd smembers
(ZSet)Sorted Set
zadd
ZRANGEBYSCORE runoob 0 1000
AOF和RDB区别
RDB: redis database,在某一个时间点将Redis存储的数据快照一份存储在磁盘上,生成的文件可以随时备份.RDB恢复比AOF的方式更高效.对于数据完整性不是很敏感的可以用该方式.
AOF:append only file ,将Redis所有的写指令存储下来,这样Redis重启的时候按照指令执行一遍就可以了.RDB和AOF方式可以同时使用,以AOF的优先,因为一般AOF的数据恢复更全.但是更慢.
appendonly yes 即可打开AOF功能
默认每隔一秒会fsync一次到文件中
提供了redis-check-aof工具用来日志文件恢复
提供了AOF文件重写的方式来减小文件大小.
AOF文件和RDB文件一样可以随时备份,不影响完整性.
AOF rewrite过程
Redis(fork)一个“重写子进程”,读取现有的AOF文件,并将其包含的指令进行分析压缩并写入到一个临时文件中
与此同时,主工作进程会将新接收到的写指令一边累积到内存缓冲区中,一边继续写入到原有的AOF文件中,这样就保证了原有的AOF文件是完整的.防止重写