首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Redis入门到高可用(五)—— 单线程
】的更多相关文章
Redis入门到高可用(一)——初识Redis
一.Redis是什么 * 开源 * 基于键值的存储服务系统 * 支持多种数据结构 * 高性能,功能丰富 二.Redis特性 ♦️ 概述 * 速度快 * 支持持久化 * 支持多种数据结构 * 支持多种编辑语言 * 功能丰富 * 简单(代码短小精悍,使用简单) * 主从复制 * 高可用.分布式(主从复制是实现此的基础) ♦️ 特性详解 2.1 速度快 官方数据 10W OPS(operation per second) 为什么这么快? 1)绝大部分请求是纯粹的内存操作(非常快速) 2)采用单线程,…
Redis入门到高可用(十九)——Redis Sentinel
一.Redis Sentinel架构 二.redis sentinel安装与配置 四.客户端连接Sentinel 四.实现原理—— 故障转移演练(客户端高可用) 五.实现原理—— 故障转移演练(服务端日志分析:数据节点和sentinel节点) 六.三个定时器 七.主观下线和客观下线 八.领导者选举 九.高可用读写分离…
Redis入门到高可用(十八)—— 主从复制
一.单机有什么问题 1.机器故障 2.容量瓶颈 3.QPS瓶颈 二.主从复制 1.数据副本(高可用.分布式基础) 2.拓展读性能(读写分离) 简单总结: 三.主从复制配置 四.主从复制配置-实验演示 五.runid和复制偏移量 主Redis每次向从Redis传播N个字节的数据时,都会在自己的复制偏移量上加N: 同理,从Redis每次接收到N个字节时,也会在自己的复制偏移量上加N. 六.全量复制 redis什么时候会发生全量复制? a) redis slave首启动或者重启后,连接到master…
Redis入门到高可用(五)—— 单线程
一.单线程为何这么快 1)绝大部分请求是纯粹的内存操作(非常快速) 2)采用单线程,避免了不必要的上下文切换和竞争条件 3)非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架.epoll中的读.写.关闭.连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间. 参考:一句话讲透epoll 二.单线程需要注意点 1) 一次只运行一条命令 2)拒绝长(慢)命令 3)其实不是单线程,进行某些操作时候(如下),有独立线程来做 fysnc file de…
Redis入门到高可用(四)—— Redis的五种数据结构的内部编码
Redis的五种数据结构的内部编码…
Redis入门到高可用(十五)—— GEO
一.简介 二.应用场景 三.API 1.geoadd 2.geopos 3.geodist 4.georadius 四.相关说明…
Redis入门到高可用(十五)—— HyperLogLog
一.简介 二.API Demo 三.使用经验…
Redis入门到高可用(十一)—— 慢查询
一.慢查询日志 慢查询日志帮助开发和运维人员定位系统存在的慢操作.慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来.Redis客户端一条名利分为如下四部分执行: 说明:①慢查询日志只是统计步骤3)执行命令阶段 ②客户端超时不一定慢查询,但是慢查询是客户端超时的一个可能原因. 二. 慢查询的配置参数 2.1 慢查询的预设阀值 slowlog-log-slower-than slowlog-log…
Redis入门到高可用(二十)——Redis Cluster
一.呼唤集群 二.数据分布概论 三.哈希分布 1.节点取余 2.一致性哈希 添加一个node5节点时,只影响n1和n2之间的数据 3.虚拟槽分区 四.基本架构 五.redis cluster 架构 六.Redis Cluster安装配置 1.原生命令安装 2.官方工具安装…
Redis入门到高可用(九)——无序set
一.结构 特点:无序,无重复,支持集合间操作 二.主要API smembers : 无序:(会阻塞)小心使用,可用sscan代替 spop: 从集合中弹出元素,每次只能弹出一个: 三.实战 抽奖系统 -spop -srandmember 喜欢.赞.踩 Redis实现开发者头条页面点赞功能 给用户添加标签 四.集合间操作 集合间操作实战:微博共同关注 user:1:fans [2,3,4] //关注用户1的粉丝 user:1:follows [2,5,7,8] //用户1关注的 user:2:…