Reids:单线程+io多路复用机制
Redis与Memcached的区别:
一、memcached值是简单字符串,redis支持hash、set、list等复杂数据类型
二、redis可持久化数据,容灾能力强。Memcached只存于内存中。
三、redis是单线程操作,核心是io多路复用机制,效率更高。Memcached是多线程加锁
Redis的两种持久化策略:
一、RDB
在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。
优点:
节省磁盘空间,恢复速度快
缺点:
① 由于不是持续备份,所以最后一次备份可能丢失。
② 由于需要子进程,所以数据庞大时比较消耗性能
二、AOF
以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件。
Redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作
优点:
① 备份机制更稳健,丢失数据概率更低
② 可读的日志文本,通过操作AOF文件,可以处理误操作
缺点:
① 占用较多磁盘空间
② 恢复备份较慢
③ 存在个别bug,导致数据无法恢复
AOF和RDB同时开启,系统默认取AOF的数据