Redis
redis就是一个数据库,不同于传统数据库,redis数据是存在内存中的,所以读写速度非常快,因此redis被广泛应用于缓存方向.另外,redis也经常用做分布式锁…redis支持事务、持久化、LUA脚本、LRU驱动事件、多种集群方案
Redis持久化
快照:
Redis可以通过创建快照来获得存储在内存里面的数据在某个时间点上的副本.redis创建快照之后,可以对快照进行备份,可以将快照复制到其他服务器从而创建具有相同数据的服务器副本 (Redis主从结构,主要用来提高Redis性能),还可以将快照留在原地以便重启服务器的时候使用.
AOF(append-only file)持久化
与快照持久化相比,AOF持久化 的实时性更好,因此已成为主流的持久化方案。为了兼顾数据和写入性能,用户可以考虑 appendfsync everysec选项 ,让Redis每秒同步一次AOF文件,Redis性能几乎没受到任何影响。而且这样即使出现系统崩溃,用户最多只会丢失一秒之内产生的数据。当硬盘忙于执行写入操作的时候,Redis还会优雅的放慢自己的速度以便适应硬盘的最大写入速度。
Redis 4.0 开始支持 RDB 和 AOF 的混合持久化(默认关闭,可以通过配置项 aof-use-rdb-preamble 开启)。
如果把混合持久化打开,AOF 重写的时候就直接把 RDB 的内容写到 AOF 文件开头。这样做的好处是可以结合 RDB 和 AOF 的优点, 快速加载同时避免丢失过多的数据。当然缺点也是有的, AOF 里面的 RDB 部分是压缩格式不再是 AOF 格式,可读性较差。
redis 事务
缓存雪崩
缓