Redis 的管理

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

Redis安装提示

  • 我们建议使用linux部署Redis。Redis也在osx,FreeBSD,OpenBSD上经过测试,但Linux经过所有主要的压力测试,并且最多产品部署。 确保设置Linux内核overcommit memory setting为1。向/etc/sysctl.conf添加vm.overcommit_memory = 1然后重启,或者运行命令sysctl vm.overcommit_memory=1以便立即生效。

  • 确保禁用Linux内核特性transparent huge pages,它对内存使用和延迟有非常大的负面影响。通过命令echo never > sys/kernel/mm/transparent_hugepage/enabled来完成。

  • 确保你的系统设置了一些swap(我们建议和内存一样大)。如果linux没有swap并且你的redis实例突然消耗了太多内存,或者Redis由于内存溢出会宕掉,或者Linux内核OOM Killer会杀掉Redis进程。

  • 设置一个明确的maxmemory参数来限制你的实例,以便确保实例会报告错误而不是当接近系统内存限制时失败

  • 如果你对一个写频繁的应用使用redis,当向磁盘保存RDB文件或者改写AOF日志时,redis可能会用正常使用内存2倍的内存。额外使用的内存和保存期间写修改的内存页数量成比例,因此经常和这期间改动的键的数量成比例。确保相应的设置内存的大小。

  • 当在daemontools下运行时,使用daemonize no

  • 即使你禁用持久化,如果你使用复制,redis会执行rdb保存,除非你使用新的无磁盘复制特性,这个特性目前还是实验性的。

  • 如果你使用复制,确保要么你的master激活了持久化,要么它不会在当掉后自动重启。slave是master的完整备份,因此如果master通过一个空数据集重启,slave也会被清掉。

在EC2上运行redis

  • 使用基于HVM的实例,不是基于PV的实例。

  • 不要使用老的实例家族。例如,使用HVM的m3.medium代替PV的m1.medium。

  • Redis持久化使用EC2 EBS卷需要小心处理,因为有时EBS卷有高延迟特性。

  • 如果当slave和master同步时有问题,你可能想尝试新的无磁盘复制特性。

无需停机升级或重启 Redis 实例。

Redis 被设计成服务器上的长时间运行进程。针对运行实例,有许多配置选项可以通过 CONFIG SET 命令进行修改,而无需执行任何形式的重启。 从 Redis 2.2 开始,可以从 AOF 切换到 RDB 的快照持久性或其他方式而不需要重启 Redis。检索 ‘CONFIG GET *’ 命令获取更多信息。 但偶尔重新启动是必须的,如为升级 Redis 程序到新的版本,或者当你需要修改某些目前 CONFIG 命令还不支持的配置参数的时候。 下列步骤通常用来避免任何形式的停机。

  • 为你的 Redis 实例配置新的从实例。为此你需要一台额外的服务器,或者你的服务器有足够的内存以便同时运行两个 Redis 实例。

  • 如果你用单一的服务器,需确保从实例用与主实例不同的端口启动,否则从实例根本不会启动成功。

  • 等待复制机制的初始同步完成(检查从实例的日志文件)。

  • 用 INFO 命令确认在主从实例中有同样数量的键值。用 redis-cli 检查从实例工作正常并响应你的命令。 使用config set slave-read-only no,允许写slave。

  • 配置你所有的客户端以便使用新的实例(即从实例)

  • 当你确认主实例不再接收到任何请求(你可以用 MONITOR 命令监视到),使用 SLAVEOF NO ONE 命令切换从实例为主实例,然后关闭原先的主实例。






本文作者:陈群
本文来自云栖社区合作伙伴rediscn,了解相关信息可以关注redis.cn网站。
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
7月前
|
NoSQL 关系型数据库 Go
更新Navicat Premium 16.2 之 如何使用Navicat连接Redis的新手教程《更新Navicat Premium 16.2并连接Redis:高效管理数据库和键值存储》
更新Navicat Premium 16.2 之 如何使用Navicat连接Redis的新手教程《更新Navicat Premium 16.2并连接Redis:高效管理数据库和键值存储》
473 0
更新Navicat Premium 16.2 之 如何使用Navicat连接Redis的新手教程《更新Navicat Premium 16.2并连接Redis:高效管理数据库和键值存储》
|
2月前
|
消息中间件 缓存 NoSQL
利用Redis实现高效缓存管理与加速
本文将探讨如何利用Redis作为缓存管理工具,通过深入分析Redis的特性、使用场景和优势,帮助开发人员更好地理解和应用Redis来提升系统性能和响应速度。
|
2月前
|
消息中间件 存储 NoSQL
【Redis项目实战】使用Springcloud整合Redis分布式锁+RabbitMQ技术实现高并发预约管理处理系统
【Redis项目实战】使用Springcloud整合Redis分布式锁+RabbitMQ技术实现高并发预约管理处理系统
|
3月前
|
存储 监控 NoSQL
Redis 大键问题解析:如何管理和优化巨型数据【redis拓展】
Redis 大键问题解析:如何管理和优化巨型数据【redis拓展】
81 0
|
4月前
|
存储 NoSQL 算法
Redis 的数据库和键管理
Redis 是一个键值对(key-value pair)的数据库服务器,其数据保存在 src/server.h/redisDb 中(网上很多帖子说在 redis.h 文件中,但是 redis 6.x版本目录中都没有这个文件。redisDb 结构应该在 server.h文件中)
72 0
Redis 的数据库和键管理
|
6月前
|
消息中间件 缓存 NoSQL
阿里云国际站代理商:Redis实现分布式配置管理的方法与应用案例
@luotuoemo飞机@TG阿里云国际站代理商:Redis实现分布式配置管理的方法与应用案例,为了实现高可用和负载均衡,可以将Redis部署成哨兵集群或集群模式。哨兵负责监控主从节点的状态,发现故障时自动进行故障转移。集群模式可以提高系统的可扩展性,通过添加更多的从节点来分摊负载压力。
|
11月前
|
缓存 NoSQL 前端开发
【Go】基于 Gin 从0到1搭建 Web 管理后台系统后端服务(三)路由、自定义校验器和 Redis
【Go】基于 Gin 从0到1搭建 Web 管理后台系统后端服务(三)路由、自定义校验器和 Redis
|
12月前
|
NoSQL Redis
Redis - CLUSTER命令中槽管理命令详解
Redis - CLUSTER命令中槽管理命令详解
52 0
|
12月前
|
NoSQL 算法 Java
Redis进阶-JedisCluster初始化 & 自动管理连接池中的连接 _ 源码分析
Redis进阶-JedisCluster初始化 & 自动管理连接池中的连接 _ 源码分析
461 0
|
JSON 自然语言处理 NoSQL
Redis 数据库必备神器!多标签、多语言、多插件支持,让你轻松管理 Redis 数据库!
Redis 是一个非常流行的 NoSQL 数据库,它支持多种数据结构和高效的内存读写操作,因此被广泛应用于各种场景中。而 Redis Desktop Manager (RDM) 则是一个基于 Redis 的 GUI 客户端软件,它提供了直观的图形界面,方便用户管理和操作 Redis 数据库。
151 0