reactor还是redis epoll

gateway结合redis做限流

本篇是针对已经实现了gateway基础功能的项目,如果需要实现基础功能可以参考 https://www.cnblogs.com/cbzhl/p/17467019.html 针对于并发量比较高的时候,如果不针对对应的服务做限流操作,可能造成服务器压力过大,宕机等情况,为此出现了多种限流的方式: 计数器 ......
gateway redis

redis学习一:redis的安装和配置

一.redis下载地址:https://redis.io/download/ 下载放到opt下面: make&&make install完成编译,这样我们就完成了安装,下面还需要对配置进行一些更改 二.进行配置更改: 1.309行把daemonize从no改为yes,当我们采用yes时,redis会 ......
redis

关于redis在我们数据平台升级版本时出现的问题

redis启动原来我们是用写死的代码 后来统一使用了启动脚本 这就导致了redis存储的问题 我们知道,redis在默认情况(appendonly no)下是使用快照存储,然而在写死的代码中,快照存储的位置是rootPath(我们的数据产品的根路径) 大概更新了三个版本之后,bat脚本启动的位置是 ......
版本 数据 问题 redis 平台

Docker(九):redis集群搭建

一、搭建网络 docker network create redisNet --subnet 172.16.0.0/16 二、建立redis配置文件 三、开启redis容器 docker run -p 6371:6379 -p 16371:16379 --name redis-1 \ -v /myd ......
集群 Docker redis

源码安装redis-migrate-tool(redis迁移工具)部署安装

源码安装redis-migrate-tool redis-migrate-tool unzip redis-migrate-tool-master.zip cd redis-migrate-tool-master yum -y install automake libtool autoconf bz ......

关联:Redis I/O模式

Redis使用的是I/O多路复用 首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户输入或输出都是阻塞的,所以 I/O 操作在一般情况下往往不能直接返回,这会导致某一文件的 I/O 阻塞导致整个进程无法对其它客户提供服务,而 I/O 多路复用就是为了解决这 ......
模式 Redis

I/O多路复用(select poll epoll)

select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的。而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间 select 调用后select函数会阻塞,直到有描述符就绪(有数据 可读、可写 ......
select epoll poll

Redis系列15:使用Stream实现消息队列(精讲)

[Redis系列1:深刻理解高性能Redis的本质](https://www.cnblogs.com/wzh2010/p/15886787.html "Redis系列1:深刻理解高性能Redis的本质") [Redis系列2:数据持久化提高可用性](https://www.cnblogs.com/w ......
队列 消息 Stream Redis

redis 安装fatal error: jemalloc/jemalloc.h: No such file or directory 错误

转自;https://www.cnblogs.com/oxspirt/p/11392437.html 问题现象: 我第一次安装redis时,没有安装gcc,报错了,然后安装好gcc,后再次执行make命令,安装redis就出现了如上的错误 网上错误解决办法 网上大部分解决办法都是错误的,如下文: ( ......
jemalloc directory 错误 redis fatal

Redis 面试题

## 1. Redis 是什么? Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此**读写速度非常快**,常用于**缓存,消息队列、分布式锁等场景**。 ## 2. Redis 有哪些数据类型? * **5 种基础数据结构**:String(字符串)、List(列表)、Se ......
Redis

十、Redis主从复制

读操作:主库、从库都可以接收; 写操作:首先到主库执行,然后,主库将写操作同步给从库。 主从第一次同步 第一阶段,主从库间建立连接、协商同步的过程,主要是为全量复制做准备。从库和主库建立起连接,主库确认回复后,就可以开始同步了。具体来说,从库给主库发送 psync 命令,psync 命令包含了主库的 ......
主从 Redis

十三、Redis并发竞争问题

多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了 首先使用分布式锁,确保同一时间,只能有一个系统实例在操作某个key 然后修改key的值时,要先判断这值的时间戳是否比缓存里的值的时间戳更靠后, ......
问题 Redis

十一、Redis扩容如何保证哈希一致性

横向扩容,保证哈希一致性 一致性哈希将整个哈希值空间组织成一个虚拟的圆环,如假设某哈希函数H的值空间为0-2^32-1(即哈希值是一个32位无符号整形) 下一步将各个服务器使用Hash进行一个哈希,具体可以选择服务器的ip或主机名作为关键字进行哈希,这样每台机器就能确定其在哈希环上的位置 接下来使用 ......
一致性 Redis

六、Redis缓冲区

Redis缓冲区有两个应用场景: 在客户端和服务器端之间进行通信时,用来暂存客户端发送的命令数据,或者是服务器端返回给客户端的数据结果; 主从节点间进行数据同步时,用来暂存主节点接收的写命令和数据 客户端缓冲区 是为了解决客户端和服务端请求和处理速度不匹配问题的,它又分为输入和输出缓冲区。 输入缓冲 ......
缓冲区 Redis

七、如何保证 Redis 中的数据不丢失

单机单节点模式使用 AOF 和 RDB 结合的方式 RDB 做镜像全量持久化,AOF 做增量持久化。因为 RDB 会耗费较长时间,不够实时,在停机的时候会导致大量丢失数据,所以需要 AOF 来配合使用。 Redis 集群模式 1、master 节点持久化 2、Redis断点续传:主从复制过程中,如果 ......
数据 Redis

五、Redis内存消耗

从性能上来说,内存占用过高会引起Reids响应变慢 从高可用上来说,内存过大可能会会引起部分数据丢失,故障恢复变慢 Redis内存消耗主要在于其主进程消耗和子进程消耗。而主进程消耗又主要包括自身内存、对象内存、缓冲区内存、内存碎片五个方面 1、自身内存 指Redis进程自身所占用的内存,这部分内存通 ......
内存 Redis

redis应用场景--记录文章,图文,或者视频的浏览次数

在阅读博客文章时,你可以看到一篇文章被阅读的次数,如果使用mysql, 那么在设计article表时,就必须设置一个view_count字段来记录这篇文章被阅读的次数。 但这种方式相比于使用redis,并不是一种好的办法,原因在于,每次更新view_count字段的值都是一个比较费力的过程。 首先, ......
场景 次数 图文 文章 redis

org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce.core.RedisException: java.io.IOException: Connection reset by peer

springBoot + redis. 程序隔一段时间会莫名其妙的报Redis的错误. 报错如下: org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce ......

redis应用场景--实现布隆过滤器

简述布隆过滤器的实现思路: 假设有一个长度为n的比特数组,bit_array,数组里的每一位都是0,对于一个url或者是其他数据,使用hash算法计算出url的散列值,这个散列值当然是一个整数,暂且命名为index,index=index%n,确保index的值小于n,查看bit_array[ind ......
过滤器 场景 redis

redis应用场景--游戏排行榜

有序集合也是集合,不同之处在于,集合里的元素可以附带这个分数,元素不能重复,但是分数可以重复,不仅如此,还可以根据分数进行排序。 很多游戏都有玩家得分的排行榜,这个排行榜随时处于变动中。 游戏有很多玩家,可以设计一张表,记录每一个玩家的分数,并根据玩家新一局的分数来更新这张表,当需要获取排行榜前10 ......
场景 排行榜 redis

redis 基本数据类型

所有数据都以唯一 key 字符串作为名称,而 value 只是数据类型的差异。所以,针对 key 的命令都是通用的。 方便演示,采用 docker 镜像,可以选择 redis:latest 镜像,这里我选择了带布隆过虑器的 redis 镜像。 docker run -p 6379:6379 --na ......
类型 数据 redis

redis应用场景--缓存过期时间

缓存可以有效的提高关键数据的获取速度,使得不必要每次查询数据库,避免了数据库被击穿。 主动更新: 需要知道这份数据的实效时间点,然后在那个时间点到来时重新更新数据,可能是查询数据库,也可能是访问第三接口,在获得数据之后,更新redis缓存。 被动更新: 程序每次都去redis获取数据,但对这份数据设 ......
缓存 场景 时间 redis

python操作redis--pipeline

如何使用pipeline: from redis.client import Redis conn = Redis(host="0.0.0.0",port=6379,db=0,password="") with conn.pipeline() as p: for i in range(100): p ......
pipeline python redis

使用GDB调试断点信息是gdb动态添加或取消的还是将断点烧录到elf文件的?断点信息是如何加载进单片机的并进行加下来的调试运行的?

使用GDB调试断点信息是gdb动态添加或取消的还是将断点烧录到elf文件的?断点信息是如何加载进单片机的并进行加下来的调试运行的? from :GPT-4 GDB(GNU调试器)是一个用于调试程序的强大工具,它可以让你设置断点、检查变量和内存、执行单步调试等。在单片机(微控制器)上使用GDB进行调试 ......
断点 信息 单片机 还是 文件

Python+Redis学习笔记

首先,通过pip来安装操作redis的相关包,pip install redis 然后导入我们要使用的模块,form redis.Client import Redis 然后,通过docker启动redis, from redis.client import Redis r = Redis(host ......
笔记 Python Redis

redis主从、哨兵、cluster

在redis集群中,从节点一般用于备份操作,主节点挂了,从节点顶上去,读写操作一般都是主读主写。 # 主从架构 用处:用于数据备份操作,主节点挂了之后可以有备份节点顶上去当主节点。 缺点:主节点挂了需要手动切换从节点为主节点 ......
主从 哨兵 cluster redis

【Redis】【缓存】数据库和缓存如何保证一致性?

1 前言 通常针对服务器的访问速度越来越差,基本性能瓶颈是在数据库,那么我们通常会给服务器加上 Redis,让其作为数据库的缓存或者本地缓存,这样,在客户端请求数据时,如果能在缓存中命中数据,那就查询缓存,不用在去查询数据库,从而减轻数据库的压力,提高服务器的性能。 缓存无非就是对数据的一份Copy ......
缓存 一致性 数据库 数据 Redis

C++面试八股文:C++中,函数的参数应该传值还是传引用?

某日二师兄参加XXX科技公司的C++工程师开发岗位第8面: > 面试官:C++中,函数的参数应该传值还是传引用? > > 二师兄:要看参数的用途。如果是出参,必须传引用。如果是入参,主要考虑参数类型的大小,来决定传值还是传引用。 > > 面试官:为什么不使用指针? > > 二师兄:传指针也称之为传引 ......
八股文 八股 函数 参数 还是

单调队列学习笔记(还是再回首)

单调队列的应用很常见,比如用于dp优化,以及滑动窗口问题等。 其思想也比较简单易懂。我们以求区间最大值的单调队列为例。 具体的来讲,我们让队头始终是最大的元素。为了保证数都在区间内,我们记录一个 $t$ 数组。该数组表示某个元素加入的时间。我们每次将新元素(设为 $x$)入队时,先将队头超时的元素弹 ......
队列 还是 笔记

Redis五大数据类型以及常用命令

# Redis五大数据类型以及常用命令 ## redis常用五大数据类型 > String (字符串)、List(列表)、Hash(哈希表)、Set(无序集合)、Zset(有序集合) ## redis数据库常见使用命令 - redis-server : redis服务器启动命令 - redis-cl ......
命令 常用 类型 数据 Redis