Redis 4.x系列(二十):Redis 配置和管理(部署/备份/恢复/内存监控/客户端)

  Redis 服务上线后,日常的运维和管理同样非常重要。Redis 服务自带了使用最广泛的管理工具redis-cli,在Linux环境下熟练使用该管理工具是非常必要的。

  Redis 运维和管理还需要关注数据备份和恢复,数据迁移,对 Redis 实例内存指标的监控等。

  官方文档:Redis Administration,官方同步译文:Redis 的管理

阅读更多

Redis 4.x系列(十九):Redis 生产环境部署和优化

  Redis 部署个测试或者测开环境是非常简单的,但如果部署生产环境,则需要考虑更多的因素。

  Redis 生产环境几乎都是部署在基于 Linux 操作系统的服务器上,需要考虑操作系统级别优化、还有客户端连接参数、Redis 安全、内存策略、日志配置、基准测试等。

  这篇文章持续了一个多星期,查了 N 多资料,虽然只是几个优化参数的设置,但有必要深入理解其含义,涉及到对 Linux 底层相关概念的理解,挺费劲的,终于成章。

阅读更多

Redis 4.x系列(十八):Redis Clstuer(高扩展-分片集群模式)

  Redis 可存储数据量受限于内存容量,单实例存储了大量数据(通常 16G 以上)的处理能力就会遇到瓶颈, 在进行持久化或主从复制时, 会越来越多地出现诸如延迟等的问题。针对这种情况,就需要通过部署多节点的 Redis 集群来存储大量的数据,可以将数据集通过分区的方式分布到多个 Redis 主实例中。

  Redis 从 3.0 版本开始支持 Redis Cluster(集群),提供了数据在 Redis 节点之间自动分片

阅读更多

Linux 下 解决中文文件名乱码(GBK 文件名转换为 UTF-8)

  在 Windows 上创建的文件,文件名是中文,上传到 Linux 后,中文名显示乱码,中文名的HTML文件无法加载。

  原因是 Windows 的文件名中文编码默认是 GBK,而 Linux 默认的文件名编码是 UTF-8, 解决文件名中文乱码,需要进行转码

阅读更多

Redis 4.x系列(十七):Redis Sentinel(高可用-主从切换哨兵模式)

  简单的复制机制并不能保证高可用,若仅仅只配置了master-slave复制,当 master无法提高服务时,整个 Redis 服务就停了,slave 无法接替 master 继续提供服务。

  Redis 为实现高可用提供了基于复制机制 的 **Sentinel(哨兵)**模式解决方案。Redis Sentinel DocumentationRedis 的 Sentinel 文档

阅读更多

Redis 4.x系列(十六):Redis 持久化之 RDB 与 AOF

  Redis 是在内存在存储数据,当服务器重启则会丢失内存中的数据。 为保证数据安全, Redis 提供了对数据持久化的支持,数据持久化是防止数据丢失的最好方法。

  Redis 共有两个数据持久化方式:RDBAOF。持久化功能有效地避免因进程退出造成数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。

  Redis Persistence 官网Redis persistence demystified(Redis 持久化揭秘)Redis 持久化 –中文译

阅读更多

Redis 4.x系列(十五):Redis 主从复制、调优和故障分析

  为解决单个数据库可能存因系统崩溃、设备异常等单点故障导致整个应用系统无法提供服务的问题,数据库系统提供了复制技术来支持多存储服务的数据复制同步。

  复制机制是读写分离的基础,也是是集群的基础。 Redis 也支持复制机制,可以将一个 Redis 服务器(master,主实例)中的数据复制到其他 Redis 服务器中(slave, 从实例)。

  Redis Replication-官方资料, Redis 复制-中文译

阅读更多

Redis 4.x系列(十四):Spring Boot 在使用 Reids 管道和事务

  在 Java 中使用 Redis,基于 Spring Boot 框架。 关于 Spring Boot 集成 Redis,可阅读Spring Boot 2实践系列(十二):Spring Data Redis 集成详解和使用

  本篇主要演示 Spring Boot 提供的 RedisTemplate 对 Redis 功能特性的使用,主要是管道事务的操作。各种数据类型的操作比较简单。

阅读更多

Redis 4.x系列(十三):Redis 正确的使用 API

  Redis 提供了丰富的 API 来操作数据,某些业务需求不只一个 API 可实现,但实现同一功能的不同的 API 在性能上是不一样的。

  Redis 是内存级别单线程处理请求,对性能非常在乎。正确的使用 API 就显得尤为重要。

阅读更多