聊聊 Redis 是如何进行请求处理】的更多相关文章

转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/674 本文使用的Redis 5.0源码 感觉这部分的代码还是挺有意思的,我尽量用比较通俗的方式进行讲解 概述 我记得我在 一文说透 Go 语言 HTTP 标准库 这篇文章里面解析了对于 Go 来说是如何创建一个 Server 端程序的: 首先是注册处理器: 开启循环监听端口,每监听到一个连接就会创建一个 Goroutine: 然后就是 Goroutine 里面会循环…
前言 聊起 redis 咱们大部分后端猿应该都不陌生,或多或少都用过.甚至大部分前端猿都知道. 数据结构: string. hash. list. set (无序集合). setsorted(有序集合), 运维方面 : 持久化,主从复制,集群,故障恢复 , 园子里已经由大佬科普过了,官方文档也能查到, 这里就不细说 redis的“发展起家史”. 咱们今天就聊聊redis的缓存应用场景(不推荐用redis做分布式锁),redis常见操作(击穿,雪崩,缓存数据量过大等),常见问题及处理方式.怎么用到…
最近,小黑哥的一个朋友出去面试,回来跟小黑哥抱怨,面试官不按套路出牌,直接打乱了他的节奏. 事情是这样的,前面面试问了几个 Java 的相关问题,我朋友回答还不错,接下来面试官就问了一句:看来 Java 基础还不错,Java HashMap 你熟悉吧? 我朋友回答.工作经常用,有看过源码. 我朋友本来想着,你随便来吧,这个问题之前已经准备好了,随便问吧. 谁知道,面试官下面一句: 那好的,我们来聊聊 Redis 字典吧. 直接将他整蒙逼. 小黑哥的朋友由于没怎么研究过 Redis 字典,所以这题…
聊聊基础概念 主从复制与主从替换 主从复制不同于主从替换,主从复制是正常情况下主节点同步数据到从节点:主从替换是主节点挂了之后,把从节点替换为主节点: 从节点存在的意义:备份主节点数据+负载均衡(对外提供可读操作) 从节点配置主节点的信息(两种方式): 1.临时配置:启动从节点的redis-cli执行命令[slaveof host port],host是主节点的ip,port是主节点的端口号,结果总是返回ok 2.永久配置:进入redis.conf,添加[slaveof host port]到文…
作者:梁桂钊 本文,是升级版,补充部分实战案例.梳理几个场景下利用 Redis 的特性可以大大提高效率. 随着数据量的增长,MySQL 已经满足不了大型互联网类应用的需求.因此,Redis 基于内存存储数据,可以极大的提高查询性能,对产品在架构上很好的补充.在某些场景下,可以充分的利用 Redis 的特性,大大提高效率. 缓存 对于热点数据,缓存以后可能读取数十万次,因此,对于热点数据,缓存的价值非常大.例如,分类栏目更新频率不高,但是绝大多数的页面都需要访问这个数据,因此读取频率相当高,可以考…
这次我们来简单说说分布式锁,我记得过去我也过一篇JMM的内存一致性算法,就是说拿到锁的可以继续操作,没拿到的自旋等待. 思路与场景 我们在Zookeeper中提到过分布式锁,这里我们先用redis实现一个简单的分布式锁,这里是我们一个简单的售卖减库存的小实例,剩余库存假设存在数据库内. @GetMapping(value = "/getLock") public String getLock() { int stock = Integer.parseInt(stringRedisTem…
序 本文主要研究一下redis的监控工具 redis-stat redis-stat是一个比较有名的redis指标可视化的监控工具,采用ruby开发,基于redis的info命令来统计,不影响redis性能. docker运行 docker run --name redis-stat -p 8080:63790 -d insready/redis-stat --server 192.168.99.100 运行实例图   redis-stat-web.png RedisLive RedisLive…
两种持久化策略 1.AOF:记录每一次的写操作到日志上,重启时重放日志以重建数据2.RDB:每隔一段时间保存一次当前时间点上的数据快照    快照就是一次又一次地从头开始创造一切3.可以关闭持久化4.在持久化上.AOF好一些,但AOF依然存在不如RDB的地方AOF优点    多种策略可以选择:是每秒同步一次(默认,灾难发生会丢失1秒的数据).还是每次请求时同步一次(超级慢 + 超级安全).从不执行同步.    日志使用追加模式:当日志太大时Redis会重新创建一个日志写    重写日志是安全的,…
1:io多路复用epoll  io多路复用简单来说就是一个线程处理多个网络请求 我们知道epoll in 的事件触发是可读了,这个比较好理解,比如一个连接过来,或者一个数据发送过来了,那么in事件就触发了,那么out事件是如何触发的呢?缓冲区可写(有空的区域),就可以触发,epoll有两种模式LT(水平触发)和ET(边缘触发),LT模式下,主要缓冲区数据一次没有处理完,那么下次epoll_wait返回时,还会返回这个句柄:而ET模式下,缓冲区数据处理一次就结束,下次是不会再通知了,只在第一次返回…
1.RDB 1.1).RDB是什么? RDB,全称Redis Database RDB是Redis进行持久化的一种方式,当然:Redis默认的持久化方式也是RDB 1.2).Redis配置RDB 1.2.1).编写配置 注:保证自己的linux中安装了docker和docker-compose,安装教程链接如下: https://www.cnblogs.com/xiegongzi/p/15621992.html 另:老衲的方法是采用docker和docker-compose来进行安装的Redis…