
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
当数据量较小时,Redis 会优先考虑用 ziplist 来存储 hash、list、zset,这么做可以有效的节省内存空间,因为 ziplist 是一块连续的内存空间,它采用一种紧凑的方式来存储元素。但是它也有缺点,比如查找的时间复杂度高、内存分配的开销、连锁更新的风险等。

在单进程环境下,要保证一个代码块的同步执行,直接用关键字或即可。在分布式环境下,要保证多个节点的线程对代码块的同步访问,就必须要用到分布式锁方案。分布式锁实现方案有很多,有基于关系型数据库行锁实现的;有基于ZooKeeper临时顺序节点实现的;还有基于 Redis setnx 命令实现的。本文介绍一下基于 Redis 实现的分布式锁方案。
在实际的流计算业务场景中,我们会发现,数据和数据的计算往往都和时间具有相关性。归纳总结可以发现,这些和时间相关的数据计算可以统一用一个计算模型来描述:每隔一段时间,计算过去一段时间内的数据,并输出结果。这个计算模型,就是时间窗口。
预训练的大语言模型虽然强大,但是知识库停留在训练的那一刻,无法获取实时的数据,导致大模型在某些场景下表现的很不好。例如,你询问大模型关于实时天气、实时新闻的看法,大模型要么无法回答,要么胡乱编造结果,这显然不是我们想看到的结果。好在,MCP 协议的诞生,打通了 AI 应用和外部系统的集成问题,大模型不仅可以获取互联网上公开的最新数据,甚至可以访问企业内部系统的保密数据,只要你开发好相应的MCP服务
预训练的大语言模型虽然强大,但是知识库停留在训练的那一刻,无法获取实时的数据,导致大模型在某些场景下表现的很不好。例如,你询问大模型关于实时天气、实时新闻的看法,大模型要么无法回答,要么胡乱编造结果,这显然不是我们想看到的结果。好在,MCP 协议的诞生,打通了 AI 应用和外部系统的集成问题,大模型不仅可以获取互联网上公开的最新数据,甚至可以访问企业内部系统的保密数据,只要你开发好相应的MCP服务
MCP 是一个标准化的协议,它的作用是解决大模型和外部系统之间集成的难题。在这个大模型和外部系统均百花齐放的时代,如果没有一个统一的标准,要实现上面这个目标简直是天方夜谭。假设大模型厂商有M个,要集成大模型的外部系统有N个,集成二者的工作量就是 M*N 的关系。所以,MCP 设计的出发点,就是为解决大模型和外部系统集成设计一个通用的标准协议。MCP 是 Model Context Protocol
MCP 是一个标准化的协议,它的作用是解决大模型和外部系统之间集成的难题。在这个大模型和外部系统均百花齐放的时代,如果没有一个统一的标准,要实现上面这个目标简直是天方夜谭。假设大模型厂商有M个,要集成大模型的外部系统有N个,集成二者的工作量就是 M*N 的关系。所以,MCP 设计的出发点,就是为解决大模型和外部系统集成设计一个通用的标准协议。MCP 是 Model Context Protocol
1. 前言“ThreadLocal为什么会导致内存泄漏,如何避免?”这是笔者在面试阿里时,面试官提出的问题,当时回答的并不好,今天刚好有时间,决定复盘一下,彻底弄清楚内存泄漏的原因,并分享给大家。1.1 何为内存泄漏?首先我们有必要了解,到底何为「内存泄漏」?笔者这里引用百度百科的解释。内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪
1. 前言HashMap对于Java程序员来说一定不陌生,除了平时开发会经常使用外,它也是面试官非常喜欢问的一个知识点。HashMap是哈希表的一个经典实现,底层数据结构是数组+链表,在JDK8中还引入了红黑树,以解决链表线性查找的效率问题。HashMap设计的非常优秀,源码两千多行,有很多可以拿出来讨论的点,本篇文章主要分析HashMap二次哈希的目的。2. 哈希码的作用首先,我们得先了解哈希码
1. 前言我们已经知道,对于InnoDB存储引擎而言,页是磁盘和内存交互的基本单位。哪怕你要读取一条记录,InnoDB也会将整个索引页加载到内存。哪怕你只改了1个字节的数据,该索引页就是脏页了,整个索引页都要刷新到磁盘。InnoDB是基于磁盘的存储引擎,如果每次操作都去读写磁盘,那么性能将会受到很大的影响。而且绝大多数时候,程序读写的数据在磁盘上并不是连续的,这意味着需要执行大量的随机IO读写,磁