|
10月前
|
NoSQL Redis
|

Redis分布式锁如何实现 ?

Redis分布式锁通过SETNX指令实现,确保仅在键不存在时设置值。此机制用于控制多个线程对共享资源的访问,避免并发冲突。然而,实际应用中需解决死锁、锁超时、归一化、可重入及阻塞等问题,以确保系统的稳定性和可靠性。解决方案包括设置锁超时、引入Watch Dog机制、使用ThreadLocal绑定加解锁操作、实现计数器支持可重入锁以及采用自旋锁思想处理阻塞请求。

212 16
|
10月前
|
Java Spring
|

SpringBoot自动装配的原理

在Spring Boot项目中,启动引导类通常使用`@SpringBootApplication`注解。该注解集成了`@SpringBootConfiguration`、`@ComponentScan`和`@EnableAutoConfiguration`三个注解,分别用于标记配置类、开启组件扫描和启用自动配置。

152 17
|
10月前
|
存储 NoSQL 算法
|

Redis分片集群中数据是怎么存储和读取的 ?

Redis集群采用哈希槽分区算法,共有16384个哈希槽,每个槽分配到不同的Redis节点上。数据操作时,通过CRC16算法对key计算并取模,确定其所属的槽和对应的节点,从而实现高效的数据存取。

189 13
|
10月前
|
缓存 NoSQL 关系型数据库
|

Redis和Mysql如何保证数据⼀致?

在项目中,为了解决Redis与Mysql的数据一致性问题,我们采用了多种策略:对于低一致性要求的数据,不做特别处理;时效性数据通过设置缓存过期时间来减少不一致风险;高一致性但时效性要求不高的数据,利用MQ异步同步确保最终一致性;而对一致性和时效性都有高要求的数据,则采用分布式事务(如Seata TCC模式)来保障。

170 14
|
10月前
|
NoSQL Redis
|

Redis的数据淘汰策略有哪些 ?

Redis 提供了 8 种数据淘汰策略,分为淘汰易失数据和淘汰全库数据两大类。易失数据淘汰策略包括:volatile-lru、volatile-lfu、volatile-ttl 和 volatile-random;全库数据淘汰策略包括:allkeys-lru、allkeys-lfu 和 allkeys-random。此外,还有 no-eviction 策略,禁止驱逐数据,当内存不足时新写入操作会报错。

1009 16
|
10月前
|
存储 缓存 负载均衡
|

mysql的性能优化

在数据库设计中,应选择合适的存储引擎(如MyISAM或InnoDB)、字段类型(如char、varchar、tinyint),并遵循范式(1NF、2NF、3NF)。功能上,可以通过索引优化、缓存和分库分表来提升性能。架构上,采用主从复制、读写分离和负载均衡可进一步提高系统稳定性和扩展性。

109 9
|
10月前
|
存储 NoSQL Redis
|

Redis的数据过期策略有哪些 ?

Redis 采用两种过期键删除策略:惰性删除和定期删除。惰性删除在读取键时检查是否过期并删除,对 CPU 友好但可能积压大量过期键。定期删除则定时抽样检查并删除过期键,对内存更友好。默认每秒扫描 10 次,每次检查 20 个键,若超过 25% 过期则继续检查,单次最大执行时间 25ms。两者结合使用以平衡性能和资源占用。

152 11
|
10月前
|
机器学习/深度学习 IDE 开发工具
|

快速部署 Jupyter Notebook 社区版

Jupyter Notebook 是一个强大且灵活的工具,特别适用于数据科学、机器学习、教学和科研等领域。本文介绍如何使用阿里云计算巢服务快速部署Jupyter Notebook 社区版。

478 1
|
10月前
|
传感器 缓存 网络协议
|

CoAP 协议与 HTTP 协议的区别

CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。

351 2
|
10月前
|
JavaScript 前端开发
|

尾调用在 JavaScript 中的应用场景

尾调用是函数式编程中的一个重要概念,在 JavaScript 中可以用于优化递归等场景,避免调用栈溢出,提高程序性能。通过将递归调用放在函数的末尾,可以实现尾调优化。

126 7
|
10月前
|
架构师 云计算 开发者
|

使用 ROS 可视化 AI 轻松生成架构图

使用 ROS 可视化编辑器的 AI 架构师,能够轻松生成架构图,并在此基础上进行修改。本视频以使用 AI 生成 WEB 经典架构为例,先生成网络和 ECS 实例,然后绑定 SLB 实例,再进一步绑定 EIP,从而具备对外服务能力。

173 2
|
10月前
|

使用 ROS 可视化轻松部署 WEB 经典网络架构

使用 ROS 可视化编辑器,能够拖拽资源、将关联资源连线、表单化编辑资源属性,从而轻松构建所需的资源架构。本视频以部署 WEB 经典网络架构为例,介绍如何使用 ROS 可视化编辑器从零绘制架构图,部署 WEB 应用,最终访问公网 IP 验证 WEB 网站部署成功。

189 1
|
10月前
|
存储 Linux
|

服务器数据恢复——使用fsck后Ext4文件系统挂载不上的数据恢复案例

关于Ext4文件系统的几个概念: 块组:Ext4文件系统的全部空间被划分为若干个块组,每个块组结构基本上相同。 块组描述符表:每个块组都对应一个块组描述符,这些块组描述符统一放在文件系统的前部,称为块组描述符表。每个块组描述符大小为32字节,主要描述块位图、i-节点位图及i-节点表的地址等信息。 超级块(Superblock):用于存储文件系统的配置参数(块大小、总块数、i-节点数等)和动态信息(当前空闲块数和i-节点数)。Ext4文件系统的超级块始于1024字节处,即2号扇区。 i节点:描述文件的时间、大小、块指针等信息。

191 2
|
10月前
|
传感器 Linux 开发工具
|

区分 Arduino 和 Raspberry pi

Arduino 是一个开源电子原型平台,适用于电子制作和自动化控制,主要处理简单的 I/O 任务。Raspberry Pi 则是基于 Linux 的小型计算机,功能更强大,支持复杂的计算任务、网络通信和多媒体处理。Arduino 使用 C/C++ 编程,而 Raspberry Pi 支持多种编程语言,如 Python 和 C/C++。Arduino 没有操作系统,直接运行在微控制器上;Raspberry Pi 运行完整的 Linux 系统,具有丰富的软件生态。

188 2
|
10月前
|
人工智能 机器人 API
|

AppFlow:将文心智能体加入你的社交群聊

通过阿里云AppFlow,只需简单配置,无需编写代码,即可将百度文心智能体接入钉钉群聊,为群聊添加一个专业的AI助手。本文以钉钉群聊为例,详细介绍了如何创建钉钉应用、AI卡片、配置AppFlow连接流以及创建钉钉机器人,最终实现AI助手在群聊中的应用。

423 9
|
10月前
|
弹性计算 安全 Ubuntu
|

快速部署 Virtualmin 社区版

Virtualmin 是专为 Linux 系统设计的领先且最复杂的网络托管控制面板。本文介绍如何使用计算巢快速部署 Virtualmin 社区版。

200 3
来自: 计算巢  版块
|
10月前
|
存储 自然语言处理 JavaScript
|

如何在 JavaScript 中创建执行上下文

在JavaScript中,作用域链是一套用于查找变量和函数的机制,由当前执行上下文的变量对象和所有外层执行上下文的变量对象组成。它包括全局作用域、函数作用域和块级作用域。作用域链的工作原理是从内向外逐层查找变量,直至全局作用域。闭包通过作用域链记住其词法作用域,即使在外部作用域之外执行也能访问内部变量。作用域链有助于变量隔离、模块化和数据隐藏,提高代码的可维护性和可读性。

84 0
|
10月前
|
Java 数据格式
|

Java“EOFException”解决

Java中的“EOFException”通常在读取文件或网络流时遇到意外的文件结束符时抛出。解决方法包括检查输入源是否为空、确保数据格式正确以及增加异常处理逻辑。

986 3
|
10月前
|
传感器 监控 物联网
|

PWM在物联网中的应用

PWM(脉冲宽度调制)在物联网中广泛应用,通过控制信号的占空比来调节设备的工作状态,如LED亮度、电机速度等,实现高效、精确的控制,常用于智能家居、工业自动化等领域。

365 7
|
10月前
|
数据采集 运维 搜索推荐
|

实时计算Flink场景实践

在数字化时代,实时数据处理愈发重要。本文分享了作者使用阿里云实时计算Flink版和流式数据湖仓Paimon的体验,展示了其在电商场景中的应用,包括数据抽取、清洗、关联和聚合,突出了系统的高效、稳定和低延迟特点。

207 0
|
10月前
|
IDE Java 应用服务中间件
|

Java“ClassNotFoundException”解决

Java中的“ClassNotFoundException”表示JVM找不到指定的类。解决方法包括:确保类路径正确、检查依赖是否完整、确认类名无误、清理和重新构建项目等。

1908 0
|
10月前
|
存储 运维 监控
|

Star Tower:数据存储的未来之路

在科技飞速发展的未来,数据存储面临更多挑战与机遇。Star Tower 以其前瞻性的设计和强大功能,引领数据存储的未来。其分布式存储架构、先进加密技术、智能合约管理、实时监控与故障检测及持续技术创新,为数据安全、可靠和高效提供了全面保障。

182 1
|
10月前
|
存储 Oracle 关系型数据库
|

服务器数据恢复—EVA存储硬盘读写性能不稳定掉线的数据恢复案例

服务器存储数据恢复环境: 一台EVA某型号控制器+EVA扩展柜+FC磁盘。 服务器存储故障&检测: 磁盘故障导致该EVA存储中LUN不可用,导致上层应用无法正常使用。

167 47
|
10月前
|
存储 运维 数据挖掘
|

服务器数据恢复—EVA存储删除VDISK的数据恢复案例

服务器存储数据恢复环境: 某单位有一台EVA某型号存储主机+2个扩展柜,共12个FATA磁盘+10个FC磁盘,LUN数量不确定,操作系统为WINDOWS SERVER。该存储用来存放单位的历史案例审理材料。 服务器存储故障&检测: 该EVA存储出现故障,无法正常使用。而且经过几家数据恢复服务商的操作,具体故障原因已经无法确定。

86 1
|
10月前
|
SQL 存储 算法
|

优化银行预计算固定查询成实时灵活查询

W银行指标查询系统用于计算和展示各类汇总指标,支持银行经营决策。因数据量庞大,系统采用预计算方式,但随着指标数量激增,预计算方式逐渐成为瓶颈。文章详细介绍了系统面临的挑战及优化方案,包括列式存储、有序归并、多线程计算等技术,最终实现了从明细数据实时计算指标的目标,显著提升了系统性能。

129 1
|
10月前
|
Java Linux Windows
|

Java“Could Not Create Java Virtual Machine”解决

当在Java中遇到“Could Not Create Java Virtual Machine”错误时,通常是由于内存设置不当、Java版本不兼容、类路径错误或操作系统限制等原因导致JVM无法启动。解决方法包括调整内存参数、确认Java版本兼容性、检查类路径和启动参数、以及检查用户权限和文件系统。

4484 1
|
10月前
|
存储 数据挖掘
|

服务器数据恢复—EqualLogic存储raid5阵列多块硬盘掉线的数据恢复案例

服务器存储数据恢复环境: 一台EqualLogic存储中有一组由16块SAS硬盘组建的RAID5阵列。上层划分了4个卷,采用VMFS文件系统,存放虚拟机文件。 服务器存储故障: 存储RAID5阵列中磁盘出现故障,有2块硬盘对应的指示灯亮黄灯,存储不可用,且存储设备已经过保。

122 4
|
10月前
|
测试技术 开发者
|

如何确保 Webpack plugin 与其他插件的兼容性?

【10月更文挑战第23天】确保 Webpack plugin 与其他插件的兼容性需要从多个方面进行考虑和努力。通过遵循规范、进行充分测试、保持沟通协作等方式,

188 7
|
10月前
|
缓存 JavaScript 安全
|

如何处理 CORS 带来的性能问题

CORS(跨源资源共享)是浏览器为了解决安全问题而引入的一种机制,但有时会带来性能问题。本文介绍了CORS的工作原理以及如何通过预检请求优化、缓存策略调整和合理配置响应头等方法来提升性能。

198 4
|
10月前
|
搜索推荐 测试技术 开发者
|

写一个 webpack plugin

【10月更文挑战第23天】编写一个 Webpack plugin 需要对 Webpack 的工作原理和机制有深入的了解,同时需要具备良好的编程能力和逻辑思维。通过合理设计和实现,Plugin 可以为我们的 Webpack 构建过程带来更多的灵活性和个性化。

149 5
|
10月前
|
算法 测试技术 开发者
|

编写 Webpack plugin 时需要注意什么?

【10月更文挑战第23天】 编写 Webpack plugin 需要综合考虑多个方面的因素。只有在充分理解和掌握这些要点的基础上,才能编写出高质量、可靠且实用的 Plugin,为 Webpack 构建过程带来更多的价值和便利。

90 5
|
10月前
|
存储 传感器 物联网
|

树莓派

树莓派(Raspberry Pi)是一款信用卡大小的单板计算机,由英国树莓派基金会开发,旨在促进计算机科学教育。它具有多种接口和强大的功能,广泛应用于教育、DIY项目和嵌入式系统开发。

762 5
|
10月前
|
数据采集 Java Linux
|

Java“Broken Pipe”解决

Java中遇到“Broken Pipe”错误通常是因为Socket连接被远程主机关闭,而本地程序仍在尝试写入数据。解决方法包括:1. 检查网络连接和防火墙设置;2. 增加超时设置;3. 使用异常处理捕获并重试。

1838 4
|
10月前
|
存储 Serverless C语言
|

如何使用标准库函数中的幂函数和对数函数

本文介绍了C语言中常用的数学函数`pow()`和对数函数的使用示例。首先,通过计算2的3次方和物体的动能,展示了`pow()`函数在整数和浮点数幂次方计算中的应用。接着,通过计算放射性物质的衰变常数和声音强度级别,分别介绍了自然对数`log()`和以10为底的对数`log10()`函数的使用方法。示例代码详细说明了每个函数的具体用法和应用场景。

181 2
|
10月前
|
存储 Unix Linux
|

服务器数据恢复—DELL EqualLogic PS6100系列存储简介及发生故障后的处理方案

DELL EqualLogic PS6100系列存储采用虚拟ISCSI SAN阵列,支持VMware、Solaris、Linux、Mac、HP-UX、AIX操作系统,提供全套企业级数据保护和管理功能,具有可扩展性和容错功能。

170 1
|
10月前
|
SQL 数据挖掘 OLAP
|

我们需要怎样的 OLAP

OLAP(在线分析处理)最初指代人员对数据进行交互式分析操作,但如今其概念被BI软件狭义化为多维分析。真正的在线分析应包括业务人员基于经验做出猜测并验证,从历史数据中寻找规律。多维分析虽能提供有用信息,但难以完成复杂计算。SPL(结构化查询语言的一种变体)因其强大的数据处理能力和易管理性,成为业务人员和开发人员进行复杂数据分析的理想工具。

111 3
|
11月前
|
SQL 存储 缓存
|

优化电商漏斗分析从 3 分钟 + 到 10 秒

A电商公司常用漏斗转化率分析来统计用户购物行为。此过程需处理大量用户会话数据,传统SQL实现复杂低效。文中提供了一种基于SPL的专业数据计算引擎解决方案,通过预先排序数据和有序归并算法,显著提升了计算性能,使14天跨度3步漏斗分析在10秒内完成,远超预期。该方法不仅代码简洁,易于扩展,还大幅降低了内存消耗,适合处理大规模数据集。

159 1
|
11月前
|
存储 大数据 编译器
|

C语言:结构体对齐规则

C语言中,结构体对齐规则是指编译器为了提高数据访问效率,会根据成员变量的类型对结构体中的成员进行内存对齐。通常遵循编译器默认的对齐方式或使用特定的对齐指令来优化结构体布局,以减少内存浪费并提升性能。

378 1
|
11月前
|
云计算 API 开发框架
|

产品动态丨阿里云计算巢月刊-2024年第10期

让优秀的企业软件生于云、长于云

599 2
|
11月前
|
前端开发 容器
|

给 CSS 盒子模型添加边框时,需要注意什么?

在给CSS盒子模型添加边框时,需要注意边框的宽度、样式和颜色,以及它如何影响盒子的总尺寸和布局。边框会增加盒子的总宽度和高度,可能需要调整其他属性以保持布局的完整性。

169 1
|
11月前
|
存储 编译器 C语言
|

C语言:文件缓冲区刷新方式有几种

C语言中文件缓冲区的刷新方式主要包括三种:自动刷新(如遇到换行符或缓冲区满)、显式调用 fflush() 函数强制刷新、以及关闭文件时自动刷新。这些方法确保数据及时写入文件。

545 4
|
11月前
|
Java 索引
|

如何避免在 Java 中引发`StringIndexOutOfBoundsException`异常

在Java中,处理字符串时若访问了不存在的索引,会抛出`StringIndexOutOfBoundsException`异常。为避免此异常,应确保索引值在有效范围内,例如使用`length()`方法检查字符串长度,并确保索引值不小于0且不大于字符串长度减1。

179 3
|
11月前
|
存储 C语言
|

C语言:结构体与共用体的区别

C语言中,结构体(struct)和共用体(union)都用于组合不同类型的数据,但使用方式不同。结构体为每个成员分配独立的内存空间,而共用体的所有成员共享同一段内存,节省空间但需谨慎使用。

345 1
|
11月前
|
存储
|

共用体在内存中如何存储数据

共用体(Union)在内存中为所有成员分配同一段内存空间,大小等于最大成员所需的空间。这意味着所有成员共享同一块内存,但同一时间只能存储其中一个成员的数据,无法同时保存多个成员的值。

334 5
|
11月前
|
存储
|

在使用 realloc 函数时,如何避免数据丢失?

在使用 realloc 函数动态调整内存大小时,为避免数据丢失,应先将原指针保存到临时变量中,调用 realloc 后检查返回值是否为 NULL,若为 NULL 则保留原指针,否则更新指针并释放临时变量。

298 3
|
11月前
|
人工智能 运维
|

玩转云上应用:有趣的计算巢体验

计算巢提供了一系列优质服务,所有服务均支持一键部署,轻松快捷。可以访问计算巢控制台,探索更多免费体验的应用。

150 4
|
11月前
|
编译器 C语言
|

C语言:普通全局变量可以被多个源文件共享吗

C语言中,普通全局变量可以通过extern关键字在多个源文件中声明和共享,实现数据的跨文件使用。但需注意,变量只能在一个文件中定义,其他文件中仅能声明。

428 9
|
11月前
|
Java Linux iOS开发
|

如何设置 Java 的环境变量

设置Java环境变量是使用Java开发工具和运行Java程序的前提。主要步骤包括:安装JDK,配置系统环境变量中的JAVA_HOME、PATH和CLASSPATH,确保命令行可直接调用javac和java命令。

461 6
|
11月前
|
人工智能 API 弹性计算
|

在阿里云快速启动LibreChat轻松玩转AI对话

本文介绍了LibreChat的基本信息,并通过阿里云计算巢完成了LibreChat的快速部署,使用者不需要自己下载代码,不需要自己安装复杂的依赖,不需要了解底层技术,只需要在控制台图形界面点击几下鼠标就可以快速部署并启动LibreChat,非技术同学也能轻松搞定。

717 5
|
11月前
|
PHP 数据库 数据安全/隐私保护
|

快速部署 Typecho 社区版

Typecho基于PHP开发,支持多种数据库,是一款内核强健、扩展方便、体验友好、运行流畅的轻量级开源博客程序。本文介绍用计算巢快速部署typecho社区版服务。

151 0
来自: 计算巢  版块