网站速度优化方案,seo管理,中小企业网站建设渠道,wordpress创建子目录1 什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的#xff0c;开源的#xff08;BSD许可#xff09;高性能非关系型#xff08;NoSQL#xff09;的键值对数据库。 Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串#xff0c;…
1 什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的开源的BSD许可高性能非关系型NoSQL的键值对数据库。 Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串值支持五种数据类型字符串、列表、集合、散列表、有序集合。 与传统数据库不同的是 Redis 的数据是存在内存中的所以读写速度非常快因此 redis 被广泛应用于缓存方向每秒可以处理超过 10万次读写操作是已知性能最快的Key-Value DB。另外Redis 也经常用来做分布式锁。除此之外Redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。 8、 持久化 8.1、什么是Redis持久化 持久化就是把内存的数据写到磁盘中去防止服务宕机了内存数据丢失。 Redis 的持久化机制是什么各自的优缺点 Redis 提供两种持久化机制 RDB默认 和 AOF 机制: RDB是Redis DataBase缩写快照 RDB是Redis默认的持久化方式。按照一定的时间将内存的数据以快照的形式保存到硬盘中对应产生的数据文件为dump.rdb。通过配置文件中的save参数来定义快照的周期。 优点 1)、只有一个文件 dump.rdb方便持久化。 2)、容灾性好一个文件可以保存到安全的磁盘。 3、性能最大化fork 子进程来完成写操作让主进程继续处理命令所以是 IO 最大化。使用单独子进程来进行持久化主进程不会进行任何 IO 操作保证了 redis 的高性能 4).相对于数据集大时比 AOF 的启动效率更高。
缺点 1)、数据安全性低。RDB 是间隔一段时间进行持久化如果持久化之间 redis 发生故障会发生数据丢失。所以这种方式更适合数据要求不严谨的时候) 2)、AOFAppend-only file)持久化方式 是指所有的命令行记录以 redis 命令请 求协议的格式完全持久化存储)保存为 aof 文件。
AOF持久化 AOF持久化(即Append Only File持久化)则是将Redis执行的每次写命令记录到单独的日志文件中当重启Redis会重新将持久化的日志中文件恢复数据。 当两种方式同时开启时数据恢复Redis会优先选择AOF恢复。 优点 1)、数据安全aof 持久化可以配置 appendfsync 属性有 always每进行一次 命令操作就记录到 aof 文件中一次。 2)、通过 append 模式写文件即使中途服务器宕机可以通过 redis-check-aof 工具解决数据一致性问题。 3)、AOF 机制的 rewrite 模式。AOF 文件没被 rewrite 之前文件过大时会对命令 进行合并重写可以删除其中的某些命令比如误操作的 flushall)
缺点 1)、AOF 文件比 RDB 文件大且恢复速度慢。 2)、数据集大的时候比 rdb 启动效率低。
优缺点是什么 AOF文件比RDB更新频率高优先使用AOF还原数据。 AOF比RDB更安全也更大 RDB性能比AOF好 如果两个都配了优先加载AOF
如何选择合适的持久化方式 一般来说 如果想达到足以媲美PostgreSQL的数据安全性你应该同时使用两种持久化功能。在这种情况下当 Redis 重启的时候会优先载入AOF文件来恢复原始的数据因为在通常情况下AOF文件保存的数据集要比RDB文件保存的数据集要完整。 如果你非常关心你的数据 但仍然可以承受数分钟以内的数据丢失那么你可以只使用RDB持久化。 有很多用户都只使用AOF持久化但并不推荐这种方式因为定时生成RDB快照snapshot非常便于进行数据库备份 并且 RDB 恢复数据集的速度也要比AOF恢复的速度要快除此之外使用RDB还可以避免AOF程序的bug。 如果你只希望你的数据在服务器运行的时候存在你也可以不使用任何持久化方式。
8.2、 Redis持久化数据和缓存怎么做扩容
如果Redis被当做缓存使用使用一致性哈希实现动态扩容缩容。 如果Redis被当做一个持久化存储使用必须使用固定的keys-to-nodes映射关系节点的数量一旦确定不能变化。否则的话(即Redis节点需要动态变化的情况必须使用可以在运行时进行数据再平衡的一套系统而当前只有Redis集群可以做到这样。
9、过期键的删除策略
9.1、Redis的过期键的删除策略