概述 当我们操作 Redis 发现耗时较长时,原因可能有两个: 服务间存在网络延迟 Redis 服务本身存在问题 如果是第一种情况,那么所有服务都会发生网络延迟,只需要联系运维处理即可,这里主要讨论第二种情况 Redis 基准性能测试 基准性能指 Redis 在一台负载正常的机器上的最大响应延迟和平 ...
复习-面试题 多个线程同时去查询数据库的这条数据,那么我们可以在第一个查询数据的请求上使用一个 互斥锁来锁住它。 其他的线程走到这一步拿不到锁就等着,等第一个线程查询到了数据,然后做缓存。 后面的线程进来发现已经有缓存了,就直接走缓存。 canal canal [kə'næl],中文翻译为 水道/管 ...
前面我们学习:MySQL 打怪升级进阶成神之路(2023 最新版)!,然后我们就开始了 NoSQL 卷王之路。从第一篇文章开始,我们逐步详细介绍了 Redis 基础理论与安装配置、9 种数据类型和应用场景、常用管理命令、发布与订阅、事件、事务机制、持久化、主从复制与数据恢复实践、哨兵模式原理与数据恢 ...
1.Redis分片集群 1.1.搭建分片集群 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决: 海量数据存储问题 高并发写的问题 使用分片集群可以解决上述问题,如图: 分片集群特征: 集群中有多个master,每个master保存不同数据。 每个master都可以有多个slav ...
1. Redis的历史和背景 Redis(Remote Dictionary Server),是由意大利工程师Salvatore Sanfilippo(别名antirez)于2009年开发的。最初,它是为了解决他的公司在提供实时Web日志分析服务时遇到的性能瓶颈而设计的。Redis因其出色的性能、简 ...
面试题 海量数据里查询某一固定前缀的key 生产上如何限制 keys * / flushdb / flushall 等危险命令以防止误删误用? MEMORY USAGE 命令用过吗? BigKey问题,多大算big?如何发现?如何删除?如何处理? BigKey你做过调优吗?惰性释放lazyfree了 ...
最近开始体验FastGPT开源知识库问答系统,用他们试着开发调试一些小助手。这中间需要使用到Redis,就在自己服务器上进行了安装,特此记录下。 环境说明:阿里云ECS,2核8G,X86架构,CentOS 7.9操作系统。 选择版本 1.打开Redis官网下载页面,可以选择需要的版本下载。我这里选择 ...
芋道源码相信很多朋友都很了解了,今天我们试着基于FastGPT实现芋道框架的代码生成。芋道的代码生成,是基于数据库表字段实现的,那我们的思路就是看看如何使用GPT帮我们生成数据库表结构,只要数据库表字段有了,代码也就生成好了。实现这个需求我们就需要用到FastGPT的高级编排功能。编排的整体思路如下 ...
最近开始体验FastGPT知识库问答系统,参考官方文档,在自己的阿里云服务器使用Docker Compose快速完成了部署。 环境说明:阿里云ECS,2核8G,X86架构,CentOS 7.9操作系统。 Docker与Docker-Compose安装 1.登录服务器,执行相关命令完成安装。 # 安装 ...
最近开始体验FastGPT开源知识库问答系统,用他们试着开发调试一些小助手。这中间需要使用到MongoDB,就在自己服务器上进行了安装,特此记录下。 环境说明:阿里云ECS,2核8G,X86架构,CentOS 7.9操作系统。 选择版本 1.打开MongoDB社区版下载页面,选择我们想要安装的版本、 ...
集群 由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集 的一部分,这就是Redis的集群,其作用是提供在多个Redis节点间共享数据的程序集。 Redis集群是一个提供在多个Redis节点间共享数据的数据集 Redis集群可以支 ...
是什么 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转为新主库,继续对外服务 能干嘛 主从监控:监控主从Redis库运行是否正常 消息通知:哨兵可以将故障转移的结果发送给客户端 故障转移:如果Master异常,则会进行主从切换,将其中一个Slave作为新Maste ...
是什么 主从复制,master以写为主,slave以读为主。 当master数据变化的时候,自动将新的数据异步同步到其他slave数据库 能干嘛 读写分离 容灾恢复 数据备份 水平扩容支撑高并发 怎么玩 master如果配置了requirepass参数,需要密码登录,那么slave就要配置maste ...
是什么 是一种消息通信模式:发送者(PUBLISH)发送消息,订阅者(SUBSCRIBE)接收消息,可以实现进程间的消息传递。 Redis可以实现中间件的MQ功能,通过发布订阅实现消息的引导和分流。 能干嘛 Redis客户端可以订阅任意数量的频道,类似我们微信关注多个公众号。 当有新消息通过PUBL ...
背景 Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。一个请求会遵循以下步骤: 1 客户端向服务端发送命令分四步(发送命令→命令排队→命令执行→返回结果),并监听Socket返回,通常以阻塞模式等待服务端响应。 2 服务端处理命令,并将结果返回给客户端。 上述两步称为:Roun ...
现代数据库系统能够存储和处理大量数据。因此,由任何一个用户单独负责处理与管理数据库相关的所有活动的情况相对较少。通常,不同的数据库用户需要对数据库的某些部分具有不同级别的访问权限:某些用户可能只需要读取特定数据库中的数据,而其他用户则必须能够插入新文档或修改现有文档。同样,应用程序可能需要独特的权限 ...
是什么 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序的串行化执行而不会被其他命令插入,不许加塞! 能干嘛 在一个队列中,一次性、顺序性、排他性的执行一系列命令 Redis事务和数据库事务的区别 单独的隔离操作 Redis的事务仅仅是保证事务里的操作会被连续独占的 ...
-- 创建节点语句 CREATE (<node-name>:<label-name>{<Property1-name>:<Property1-Value>........<Propertyn-name>:<Propertyn-Value>}); 其中的node-name 是节点名称 label-na ...
以前对异步删除几个参数的作用比较模糊,包括网上的很多资料都是一笔带过,语焉不详。 所以这次从源码(基于 Redis 7.0.5)的角度来深入分析下这几个参数的具体作用: lazyfree-lazy-user-del lazyfree-lazy-user-flush lazyfree-lazy-ser ...
第2章 Redis 的安装与配置 2.1Redis 的安装 2.1.1 克隆并配置主机 Redis在Linux上进行安装,首先有配置Linux操作系统 2.1.2 安装前的准备工作 (1) 安装 gcc 由于 Redis 是由 C/C++语言编写的,而从官网下载的 Redis 安装包是需要编译后才可 ...