在某些使用场景中,我们并不需要使用redis的持久化,反而需要发挥redis的内存数据库特性,实现完全内存运行,达到需要的高性能。
Redis 本身支持持久化,通过在一定时间间隔或触发操作,将内存中的数据同步到磁盘来保证持久化。Redis 支持两种持久化方式,一种是 Snapshotting(快照),保存为dump.rdb文件,也是默认方式,另一种是 Append-only file(缩写aof)的方式,保存为 .aof 文件。
Snapshot 快照 通过save或者bgsave命令通知redis做一次快照持久化。save操作是在主线程中保存快照的,由于redis是用一个主线程来处理所有客户端的请求,这种方式会阻塞所有客户端请求。所以不推荐使用。另一点需要注意的是,每次快照持久化都是将内存数据完整写入到磁盘一次,并不是增量的只同步增量数据。如果数据量大的话,写操作会比较多,必然会引起大量的磁盘IO操作,可能会严重影响性能。
在默认的快照 rdb保存方式中,redis.conf 里面的配置如下
1
2
3
|
save 900 1 #900秒内如果超过1 个key 被修改,则发起快照保存
save 300 10 #300秒内容如超过10个key 被修改,则发起快照保存
save 60 10000 |
如果我们需要关闭快照,只需要将这几行注释了,然后重启 redis 即可。
如果是正在运行的实例,可以使用 redis-cli的命令
1
2
3
4
|
# 查看当前配置 config get save # 关闭快照 config set save ""
|
来在线更新配置,输出OK表示设置成功。
AOF 比快照方式有更好的持久化性,是由于在使用aof 持久化方式时, redis 会将每一个收到的写
命令都通过write函数追加到文件中(默认是appendonly.aof) 。当redis 重启时会通过重新执行文件中
保存的写命令来在内存中重建整个数据库的内容
默认配置如下:
1
2
3
4
|
appendonly yes // 启用日志追加持久化方式
#appendfsync always //每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用 appendfsync everysec // 每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
#appendfsync no //完全依赖操作系统,性能最好,持久化没保证 |
我们需要更新配置文件为:
1
|
appendfsync no |
在线更新配置使用
1
2
3
4
|
# 查看当前配置 config get appendfsync # 关闭快照 config set appendfsync no
|
通过这两个配置,redis就可以完全在内存运行。
如果想手动进行持久化,可以使用Redis的 bgsave 和 bgrewriteaof 来手动进行持久化。
原文地址:http://www.open-open.com/lib/view/open1420354419968.html
相关推荐
3. **性能优化**:Redis 团队持续优化了内存管理、命令处理和网络I/O,使得7.0.2在处理大量并发请求时表现出更好的性能。 4. **故障恢复与持久化**:Redis 提供了多种持久化策略,如 RDB 和 AOF,确保在服务器重启...
标题提到的"redis在win上的运行脚本redis.bat"就是一个帮助用户在Windows环境下启动Redis服务的批处理文件。下面将详细介绍Redis在Windows上的安装、配置以及使用这个批处理脚本的方法。 首先,我们需要下载Redis的...
本教程将详细讲解如何搭建、配置和运行Redis。 **一、Redis的安装** 1. **下载源码**:首先,你需要从Redis官网(https://redis.io/download)下载最新的源代码压缩包。压缩包中包含的文件如`00-RELEASENOTES`是...
本文将深入探讨如何监控MySQL和Redis的CPU与内存使用情况。 一、MySQL监控 1. **MySQL内置监控**:MySQL提供了一些内置的性能监控工具,例如`SHOW STATUS`和`SHOW VARIABLES`命令,可以查看服务器状态和配置参数。...
在深入了解Redis安装包运行环境之前,我们先来了解一下Redis的基础概念和特点。 Redis是一个开源(BSD许可)的,内存数据结构存储系统,它可以用作数据库、缓存和消息代理。它支持多种数据结构,如字符串、哈希、...
### Redis内存过期策略详解 #### 一、引言 Redis作为一款高性能的键值存储系统,在实际应用中经常被用作缓存解决方案。为了确保内存的有效利用与系统的稳定性,Redis设计了一套高效的内存管理机制,其中包括了针对...
本文将详细解释几个用于检查Redis内存状态的命令。 首先,`info memory`是查看Redis内存使用情况的基础命令。执行`redis-cli info memory`会返回一系列内存统计数据,其中包括: 1. `used_memory`: 表示Redis分配...
通过深入分析和理解Redis的工作原理,以及对业务需求的充分考虑,我们可以有效地避免和解决Redis内存占用飙升的问题,确保系统的稳定和高效运行。对于大型互联网公司如美团而言,良好的数据库管理是业务持续发展的...
本篇文章将围绕“Redis-windows可直接运行文件”这一主题,详细讲解如何在Windows上安装和使用Redis。 首先,我们来看一下提供的压缩包文件内容: 1. `redis.windows.conf`:这是Redis的配置文件,用于设置Redis...
Redis 使用内存存储数据,并定期将其持久化到磁盘,以防止数据丢失。其支持多种数据类型,包括字符串、哈希、列表、集合、有序集合等,这为开发人员提供了极大的灵活性。 标题提及的“Redis 可视化工具”是用于帮助...
Redis 是一个开源的、基于键值对的数据存储系统...这个"redis mac 7.2.3 arm 包"为在M1 Mac上运行Redis提供了便利,确保了与硬件架构的良好兼容性,使得开发者和运维人员能在苹果最新的平台上充分利用Redis的强大功能。
### Redis内存存储结构分析 #### 一、Redis内存存储总体结构概述 Redis是一种高性能的键值存储系统,它将所有数据存储在内存中,从而实现了非常快的数据读写速度。然而,这种设计也有其局限性,例如对于拥有大量...
Redis 是一个开源的内存数据结构存储系统,常被用作数据库、缓存和消息代理。在Windows环境下,Redis 的安装和使用与在Linux系统中有所不同。这里我们将详细讨论Windows版Redis 5.0.14的相关知识点。 1. **Redis ...
Redis是一款高性能的键值对内存数据库,被广泛应用于缓存、数据存储等领域。在这个Windows 64位版本的Redis 7.0.5中,我们能够看到一系列关键组件和配置文件,这使得它能够在Windows环境下运行。以下是关于Redis ...
Redis运行在内存中,数据持久化可以采用RDB或AOF方式,确保数据安全。 Redis在Windows和Linux平台上的安装方法有所不同: 1. **Windows安装**: - 下载Redis的Windows预编译版本,通常是.zip文件。 - 解压到你...
- Redis是一个开源的、基于内存的数据结构存储系统,可以作为数据库、缓存或消息中间件使用。 - 它支持的数据类型包括字符串、哈希、列表、集合和有序集合,以及更复杂的数据结构如地理空间索引。 - Redis提供...
这个过程主要涉及MySQL关系型数据库和Redis内存数据存储的安装与配置,尤其适用于Windows 10操作系统。 标题中的"mysql+redis全自动化部署"指的是通过编写脚本或利用工具自动完成MySQL和Redis的安装、配置和启动,...
- redis.conf:这是Redis的配置文件,包含了Redis服务器运行时的各种设置,如端口号、绑定地址、内存限制、持久化策略等。用户可以根据实际需求进行修改。 - redis-server.exe:这是Redis服务器的执行程序,启动该...
Redis 的优势在于它的内存存储模式,以及对持久化、复制和多种数据结构的支持。 在提供的“redis-7.0.11-windows.zip”压缩包中,包含了在 Windows 平台上安装和运行 Redis 所需的文件。以下是每个文件的用途: 1....