08 2022 档案

摘要:在Redis的开发和运维过程中,由于对于Redis的某些特性没有真正合理地使用,会遇到一些棘手的问题,主要内容包括: Linux配置优化要点。 flushall/flushdb误操作快速恢复方法。 安全的Redis如何设计。 处理bigkey的方案与最佳实践。 寻找热点key。 1、Linux配置优 阅读全文
posted @ 2022-08-31 15:43 麦恒 阅读(307) 评论(0) 推荐(0)
摘要:缓存能够有效地加速应用的读写速度,同时也可以降低后端负载,对日常应用的开发至关重要。但是将缓存加入应用架构后也会带来一些问题,对这些问题介绍缓存使用技巧和设计方案,包含如下内容: 缓存的收益和成本分析。 缓存更新策略的选择和使用场景。 缓存粒度控制方法。 穿透问题优化。 无底洞问题优化。 雪崩问题优 阅读全文
posted @ 2022-08-29 20:45 麦恒 阅读(79) 评论(0) 推荐(0)
摘要:Redis Cluster是Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的目的。 3.0之前,Redis分布式方案一般有两种: 客户端分区方案,优点是分区逻辑可控,缺点是需要自 阅读全文
posted @ 2022-08-23 17:59 麦恒 阅读(254) 评论(0) 推荐(0)
摘要:Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,对于很多应用场景这种故障处理的方式是无法接受的。从Redis 2.8开始正式提供了Redis Sentinel(哨兵)架构来解决这个问题。 1、Sentinel基本概念 由于对 阅读全文
posted @ 2022-08-19 21:48 麦恒 阅读(82) 评论(0) 推荐(0)
摘要:1、内存消耗 Redis内存消耗在哪些方面。有些内存消耗是必不可少的,而有些可以通过参数调整和合理使用来规避内存浪费。 内存消耗可以分为进程自身消耗和子进程消耗。 1.1、内存使用统计 了解Redis自身使用内存的统计数据,可通过执行info memory命令获取内存相关指标。 10.1.1.11: 阅读全文
posted @ 2022-08-19 12:00 麦恒 阅读(107) 评论(0) 推荐(0)
摘要:Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的。当Redis用于高并发场景时,这条线程就变成了它的生命线。如果出现阻塞,哪怕是很短时间,对于应用来说都是噩梦。导致阻塞问题的场景大致分为内在原因和外在原因: 内在原因包括:不合理地使用API或数据结构、CPU饱和、持久化阻塞等。 阅读全文
posted @ 2022-08-18 22:44 麦恒 阅读(99) 评论(0) 推荐(0)
摘要:在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本。复制功能是高可用Redis的基础,哨兵和集群也都是在复制的基础上实现高可用的。 1、配置复制 从节点配置文件可能要配置 阅读全文
posted @ 2022-08-17 22:44 麦恒 阅读(89) 评论(0) 推荐(0)
摘要:Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。 1、RDB RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 1.1、触发机制 手动触发分别对应save 阅读全文
posted @ 2022-08-16 23:08 麦恒 阅读(81) 评论(0) 推荐(0)
摘要:1、客户端通信协议 几乎所有的主流编程语言都有Redis的客户端(http://redis.io/clients),不考虑Redis非常流行的原因,如果站在技术的角度看原因还有两个: 第一,客户端与服务端之间的通信协议是在TCP协议之上构建的。 第二,Redis制定了RESP(REdis Seria 阅读全文
posted @ 2022-08-16 19:43 麦恒 阅读(94) 评论(0) 推荐(0)
摘要:Redis提供的5种数据结构已经足够强大,但除此之外,Redis还提供了诸如慢查询分析、功能强大的Redis Shell、Pipeline、事务与Lua脚本、Bitmaps、HyperLogLog、发布订阅、GEO等附加功能。 慢查询分析:通过慢查询分析,找到有问题的命令进行优化。 Redis Sh 阅读全文
posted @ 2022-08-12 17:27 麦恒 阅读(80) 评论(0) 推荐(0)
摘要:1、Redis基础 1.1、redis-cli操作redis的方式 redis-cli有两种方式连接Redis服务器,并进行数据操作。 第一种方式是将命令作为redis-cli的参数执行(命令行方式)。 第二种方式是不带参数运行redis-cli,进入交互模式(交互式方式)。 redis-cli [ 阅读全文
posted @ 2022-08-04 23:33 麦恒 阅读(71) 评论(0) 推荐(0)
摘要:Redis约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.8版、3.0版),奇数版本是非稳定版(如2.7版、2.9版),生产环境下一般需要使用稳定版本。 1、编译安装redis(单机模式) 1.1、部署环境 软件版本 Redis:redis-6.0.16.tar.gz 系统环境 1 阅读全文
posted @ 2022-08-03 22:39 麦恒 阅读(31) 评论(0) 推荐(0)
摘要:Redis是一种基于键值对(key-value)的NoSQL数据库。 与很多键值对数据库不同的是,Redis中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据 阅读全文
posted @ 2022-08-03 21:46 麦恒 阅读(41) 评论(0) 推荐(0)