Redis总结
Redis总结
pl在之心
立足当下
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
redis集群是如何组建的
1. 问题 redis集群是如何组建的,新的节点如何加入集群 2. 了解命令meet 1) 首先节点各自独立启动,会选择以集群的方式启动 2)该节点通过meet邀请其他节点加入集群 3. 实现 通过向节点A发送cluster meet命令,客户端可以让接受命令的节点A将另一个节点B添加到集群中 cluster meet <ip> <port>...原创 2020-01-10 14:58:50 · 198 阅读 · 0 评论 -
redis 集群数据结构
1. 问题 1) redis 集群的数据结构是怎样的? 2. 节点状态clusterNode结构 clusterNode表示一个节点的当前状态 redis集群使用clusterNode结构来保存集群中某个节点的状态,包括 1) 节点的名字 (40位16进制字符串) 2) 节点的创建时间 3) 节点对应集群当前的纪元 4) 节点的IP和端口 5) 节点的状态 (下线...原创 2020-01-10 14:33:16 · 332 阅读 · 0 评论 -
redis 集群容错策略
1. 问题 1) redis 集群如果一个主节点挂了,会怎么处理 2) redis集群如果一个从节点挂了,会怎么处理 3) 如何判断整个redis集群挂了? 2. 处理 2.1redis 集群如果一个主节点挂了,会怎么处理 在了解这个问题之前,我们需要知道redis集群如何判断一个主节点挂了? 1) 集群中的每个节点都会顶起地向集群中的其他节点发送PING消息 2) ...原创 2020-01-10 10:58:25 · 1399 阅读 · 0 评论 -
Redis 为什么会出现阻塞?
1. 介绍 Redis是基于reactor模式的一种事件驱动框架。 2. 事件分类 文件事件: 读事件,写事件 时间事件: 定时事件,周期性事件 3. 文件事件 连接事件:客户端连接到服务端,连接关闭等 读写事件:socket读写 4.事件处理器 不同的事件对应不同的事件处理器,由事件分发器分派 说明: IO多路复用一般借助操作系统自带的...原创 2020-01-07 18:19:49 · 2324 阅读 · 0 评论 -
Redis AOF持久化
1. 问题 1) RDB为redis的一个全量的内存快照,但是每次都需要全量,耗时很长,如何实现增量的持久化? 2)类似于Mysql的bin log日志,Row格式存储的是数据,Statement存储的是执行的命令语句,redis有没有? 2. AOF流程 1) 服务器每次执行完一个写命令,会以协议格式将执行的写命令追加到aof_buf缓冲区的末尾; 2) 根据一定的策略,...原创 2020-01-02 14:53:58 · 127 阅读 · 0 评论 -
Redis RDB持久化
1. 问题 1). redis作为一个以内存为基本的存储服务,如何保证可靠性呢?如果遇到断电,怎么处理 2) redis有没有一种数据快照功能? 3)redis主从同步,传输的是什么文件? 2. 内存快照 RDB可以说是一个内存快照,格式为二进制,内容为key,value信息 文件结构: REDIS为固定开头,占5个字节。 db_version为RDB文件的版本...原创 2020-01-02 14:22:10 · 165 阅读 · 0 评论 -
redis单线程为什么这么快
所谓redis很快,到底是指的什么? 响应时长很短 那么响应时长由什么组成呢? 响应时长=网络耗时+redis自身耗时 网络耗时正常和运营商相关,一般为近似固定的延时 redis自身耗时=接受请求+分发请求+处理请求 总结redis单线程比较快的原因: 1) 使用IO多路复用,例如epoll (提升吞吐量) 2) 纯内存操作 (处理请求耗时短,单位时间内处理的请求数...原创 2019-12-31 10:46:58 · 153 阅读 · 0 评论 -
redis info详解2
统计 # Stats total_connections_received:3940602610 #总共接受到的连接数 total_commands_processed:8487340070#总共处理的连接数 instantaneous_ops_per_sec:160 #每秒处理的请求 total_net_input_bytes:215986712412 #总网络流入字节...原创 2019-12-31 09:00:29 · 237 阅读 · 1 评论 -
redis info详解
1. 背景 最近在研究redis的配置信息,想了解为什么这么配置以及如何优化这些配置 2. 配置信息 10.38.162.118:7004> info # Server 服务器信息 redis_version:3.2.9 #redis版本 redis_git_sha1:00000000 #git上版本 redis_git_dirty:0 #git代码是否修改...原创 2019-12-30 20:20:45 · 214 阅读 · 0 评论 -
redis底层数据结构之压缩列表
1. 问题 压缩列表在Redis中用来存储哪些类型的数据? 2. 介绍 压缩列表是redis为了节省内存而开发的,由一系列特殊编码的连续内存块组成的有序数据结构。 用途: zset键,哈希键 3. 底层实现 说明: ziplist_bytes: 四个字节,记录占用总字节数 ziplist_tail_offset: 四个字节,代表第一个节点距离最后一个节点的字节数...原创 2019-12-30 15:51:11 · 208 阅读 · 0 评论 -
redis底层数据结构之整数集合
1. 问题 当我们使用redis的set结构存储一些数量不多的数字时,底层是什么数据结构? 2. 数据结构 typedef struct intset{ //编码方式 uint32_t enconding; // 集合包含的元素数量 uint32_t length; //保存元素的数组 int8_t contents[]; }...原创 2019-12-30 15:04:39 · 211 阅读 · 0 评论 -
redis 慢查询日志
1. 问题 我们在数据库sql经常会统计并优化慢查询语句,同样的,redis中也存在一种慢查询;作用也是一样,列出 操作很慢的命令,这里的很慢是指超过某个指定的时间,用户可以自定义。 2. 使用 通过slowlog get来获取redis的慢查询日志 slowlog get 1 指定查询一条慢查询日志 3. 日志分析 慢查询日志分为id, 时...原创 2019-12-30 14:19:44 · 221 阅读 · 0 评论 -
Redis集群如何使用pipeline操作
1. 背景 当我们的产品需要一款分布式缓存组件时,一般会考虑Redis集群. Redis集群是一种分布式的,高可用性的缓存组件, 大多数情况下存储一些经常使用的,变动不频繁的数据,例如用户信息, 离线计算的某类数据等. 但是,随着用户量的大量增 加,如何快速的将海量的数据导入Redis集群变得越加紧急, 传统的逐条插入Redis集群的方式已经无法满足我们的需求, 因为...原创 2019-08-12 16:52:59 · 2197 阅读 · 0 评论 -
Redis 查看中文乱码
目录 1. 背景 2. 问题思考 3.问题解决 1. 背景 最近使用redis存储一些包含中文的信息时,发现直接get查看后,中文显示的是一串编码. 上网查询后,发现下面的命令 能解决这个问题,正确显示中文. > redis-cli -h xx -p xx -c --raw 2. 问题思考 ...原创 2019-08-12 14:18:30 · 3676 阅读 · 0 评论 -
Redis基本命令
Redis基本命令与Redis的内部结构有关 1.连接Redis或Redis集群 连接Redis > redis-cli -h xx -p xx 连接Redis集群 > redis-cli -h xx -p xx -c 中文乱码 > redis-cli -h xx -p xx -c --raw 2.普通键值对 根据键值查询value > ge...原创 2018-08-22 17:04:30 · 189 阅读 · 0 评论 -
Redis从入门到精通之原理与问题总结
目录 1.使用场景 2.底层数据结构 3.发布与订阅功能 4.批量操作pipeline 5.延迟队列 6.lua脚本与原子性操作 7.地理位置 8.基数统计 9.集群节点分布原理 10.JedisCluster原理 11.Redis集群连接池 12.对象编码方式 13.序列化DUMP 14.Redis与Memcache的区别 15.简单的事务支持 16.大量K...原创 2018-08-23 09:55:09 · 313 阅读 · 0 评论 -
Redis内部结构
redis总结https://blog.youkuaiyun.com/u010627840/category_9278277.html 目录 1. 简单动态字符串 2. 链表 3.字典 4. 跳跃表skiplist 5.整数集合intset 6.压缩列表ziplist 7.Redis内存分配原则 8.Redis命令中type key与objec...原创 2018-08-28 11:02:40 · 2287 阅读 · 0 评论
分享