前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Redis缓存-简介

Redis缓存-简介

作者头像
瑞新
发布2020-07-07 21:29:05
发布2020-07-07 21:29:05
1.4K0
举报

概述

穿透、回种、熔断

缓存中间件对比 Mencache和Redis区别

主从:mysql复制备份 分片:将大数据打碎,分配到不同物理机节点的分区方案

redis3.0之后支持分片

选型:普通KEY-VALUE用Mencache。有持久化需求,和数据主从、分片等高级应用,采用Redis.

Redis分析

单进程,单线程,c语言实现,k-v数据库。数据存储在内存 不使用表,不强制数据进行关联,比关系型数据库性能高出不止一个量级 键值对存储类似HashMap查找操作都是O(1) 此单线程指处理网络请求(主线程是单线程的,包含主线程io处理,io对应相关业务处理,过期键处理,父子协调,集群协调。这些除了io事件的逻辑被封装成周期性任务,由主线程周期性处理,因为单线程,所有请求串行处理 )因此多客户端请求不会有并发问题,避免上下文切换和锁竞争。一个正式的RedisServer运行肯定不止一个线程(Redis进行持久化的时候会以子进程\子线程) 单线程可接收并发、不是并行 单线程配合io多路复用,大幅度提升性能 网络等原因制约Redis并发处理量不能进一步上升:QPS10W+峰值时,cpu没有跑满不是制约Redis性能的原因,单核单线程不是制约的原因,可以利用多核开启多个Redis IO多路复用(非阻塞)NIO

阻塞与非阻塞

Select(监听)监控文件可读可写的文件描述符,返回满足条件个数个数

多路复用函数选择

操作系统不同,因地制宜,select保底方案复杂度O(N) epoll->Linux kqueue->MacOs React实现文件处理器,通过多路复用,实现对多个fd监控,满足条件触发回调。保证了Redis性能,也保证了服务的简单

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 缓存中间件对比 Mencache和Redis区别
  • Redis分析
  • 阻塞与非阻塞
  • 多路复用函数选择
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档