<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[maply的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/maply</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; maply]]></copyright><item><title><![CDATA[VSCode 中的 Git Graph扩展使用详解]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145366815</link><guid>https://blog.youkuaiyun.com/maply/article/details/145366815</guid><author>maply</author><pubDate>Sun, 26 Jan 2025 11:15:55 +0800</pubDate><description><![CDATA[Git Graph 是 VSCode 中的一款 Git 可视化扩展，它提供了一种 图形化方式来查看 Git 提交历史、分支、合并记录等信息，使得 Git 版本管理更加直观和高效。]]></description><category></category></item><item><title><![CDATA[VSCode 中 Git 扩展的使用详解]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145366664</link><guid>https://blog.youkuaiyun.com/maply/article/details/145366664</guid><author>maply</author><pubDate>Sun, 26 Jan 2025 10:59:53 +0800</pubDate><description><![CDATA[VSCode 内置了 Git 版本控制功能，支持 Git 分支管理、提交（commit）、推送（push）、拉取（pull）、合并（merge）、回滚（revert）、冲突解决等操作。下面详细介绍 VSCode 中 Git 扩展的使用方法，包括 UI 操作和对应的 Git 命令。]]></description><category></category></item><item><title><![CDATA[使用 Pipeline 提高 Redis 批量操作性能]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145360557</link><guid>https://blog.youkuaiyun.com/maply/article/details/145360557</guid><author>maply</author><pubDate>Sat, 25 Jan 2025 23:27:37 +0800</pubDate><description><![CDATA[在 Redis 中，Pipeline（管道） 是一种用于提高批量操作性能的技术。它允许客户端一次性发送多个命令到 Redis 服务器，而不需要等待每个命令的单独响应，从而减少了网络往返（RTT, Round Trip Time）的影响，显著提升性能。]]></description><category></category></item><item><title><![CDATA[Redis 的热 Key（Hot Key）问题及解决方法]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145360494</link><guid>https://blog.youkuaiyun.com/maply/article/details/145360494</guid><author>maply</author><pubDate>Sat, 25 Jan 2025 23:19:06 +0800</pubDate><description><![CDATA[Redis 热 Key（Hot Key）指的是访问频率极高的 Key，通常会造成以下问题：
- 单 Key 访问量过大：热点 Key 可能被高并发请求频繁访问，导致单点压力集中，影响 Redis 的性能和稳定性。
- CPU 负载过高：Redis 需要处理大量对同一 Key 的请求，导致 CPU 使用率急剧上升。
- 网络 IO 瓶颈：请求量过大可能会导致 Redis 服务器的网络流量激增，影响整体响应速度。
- 缓存穿透、缓存击穿风险：如果热 Key 过期或者未命中，可能导致大量请求直接打到数据库，引发雪]]></description><category></category></item><item><title><![CDATA[Redis 消息队列详解]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145343727</link><guid>https://blog.youkuaiyun.com/maply/article/details/145343727</guid><author>maply</author><pubDate>Fri, 24 Jan 2025 16:53:50 +0800</pubDate><description><![CDATA[Redis 作为一个高性能的内存数据库，支持多种实现消息队列的方式，主要包括：
1. Redis List（基于列表的队列）
2. Redis Pub/Sub（发布/订阅）
3. Redis Stream（消息流）
4. Redis Sorted Set（延迟队列）
不同的方式适用于不同的场景，下面详细讲解各自的实现原理、适用场景以及示例代码。]]></description><category></category></item><item><title><![CDATA[使用 Redis List 和 Pub/Sub 实现简单的消息队列]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145343547</link><guid>https://blog.youkuaiyun.com/maply/article/details/145343547</guid><author>maply</author><pubDate>Fri, 24 Jan 2025 16:44:27 +0800</pubDate><description><![CDATA[Redis 本身不是专门的消息队列系统，但它提供了多种数据结构（如 List、Pub/Sub、Stream）来实现消息队列功能。根据不同的业务需求，可以选择不同的方式.]]></description><category></category></item><item><title><![CDATA[使用 Redis 实现分布式锁的基本思路]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145324012</link><guid>https://blog.youkuaiyun.com/maply/article/details/145324012</guid><author>maply</author><pubDate>Thu, 23 Jan 2025 15:11:49 +0800</pubDate><description><![CDATA[在分布式系统中，多个进程或服务可能会同时访问共享资源（如数据库、缓存、文件等），这可能会导致**数据不一致**或**并发冲突**。Redis 由于其**高性能**和**单线程模型**，是实现分布式锁的一个常见选择。本文将详细介绍使用 Redis 实现分布式锁的基本思路，包括 **实现方式**、**锁的释放**、**可能存在的问题** 以及 **优化方案**。]]></description><category></category></item><item><title><![CDATA[Redis 缓存穿透、雪崩和击穿问题及解决方案]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145322781</link><guid>https://blog.youkuaiyun.com/maply/article/details/145322781</guid><author>maply</author><pubDate>Thu, 23 Jan 2025 14:18:58 +0800</pubDate><description><![CDATA[在使用 Redis 作为缓存时，可能会遇到 **缓存穿透**、**缓存雪崩** 和 **缓存击穿** 这三种常见问题，它们都会影响系统的稳定性和性能。下面详细讲解它们的定义、成因以及相应的解决方案。]]></description><category></category></item><item><title><![CDATA[基于 Colyseus 的实时消息处理与广播机制]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145281126</link><guid>https://blog.youkuaiyun.com/maply/article/details/145281126</guid><author>maply</author><pubDate>Tue, 21 Jan 2025 12:08:22 +0800</pubDate><description><![CDATA[Colyseus 是一个用于构建实时多人游戏和协作应用的开源框架，基于 Node.js 运行，并使用 WebSocket 进行高效的消息传输。它提供了一套结构化的 API 来管理房间（Rooms）、客户端（Clients）和游戏状态（State），从而支持高效的实时消息处理与广播机制。
]]></description><category></category></item><item><title><![CDATA[如何安全运行浏览器端用户输入的JavaScript 代码]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145280768</link><guid>https://blog.youkuaiyun.com/maply/article/details/145280768</guid><author>maply</author><pubDate>Tue, 21 Jan 2025 11:49:31 +0800</pubDate><description><![CDATA[前端可以实现让用户输入 JavaScript 代码并在运行的功能。你可以使用 `eval()` 或者 `new Function()` 来执行 JavaScript 代码，同时结合 `textarea` 输入框，让用户输入代码并运行。为了增强安全性，通常需要对输入的代码做一些限制，比如运行在 `iframe` 沙箱环境中。]]></description><category></category></item><item><title><![CDATA[TTL 在 Redis 缓存中的作用]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145249929</link><guid>https://blog.youkuaiyun.com/maply/article/details/145249929</guid><author>maply</author><pubDate>Sun, 19 Jan 2025 23:31:39 +0800</pubDate><description><![CDATA[TTL（TimeToLive，生存时间）是Redis提供的一种自动过期机制，用于控制键值对的存活时间。当TTL到期后，Redis会自动删除该键，避免长期占用内存。这对于缓存系统来说至关重要，因为它能够有效防止缓存过载，并确保数据的一致性和实时性。]]></description><category></category></item><item><title><![CDATA[如何使用 Redis 作为高效缓存]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145249894</link><guid>https://blog.youkuaiyun.com/maply/article/details/145249894</guid><author>maply</author><pubDate>Sun, 19 Jan 2025 23:26:54 +0800</pubDate><description><![CDATA[Redis（RemoteDictionaryServer）是一个高性能的内存存储系统，通常被用作缓存来加速数据访问，提高应用的吞吐量和响应速度。本文详细讲解如何使用Redis作为高效缓存，包括基本原理、常见模式、最佳实践以及优化技巧。]]></description><category></category></item><item><title><![CDATA[Redis 持久化机制：RDB 和 AOF]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145249832</link><guid>https://blog.youkuaiyun.com/maply/article/details/145249832</guid><author>maply</author><pubDate>Sun, 19 Jan 2025 23:21:27 +0800</pubDate><description><![CDATA[Redis主要提供了两种持久化方式：RDB（RedisDatabase）和AOF（Append-OnlyFile）。它们各自的实现原理、优缺点以及适用场景如下。]]></description><category></category></item><item><title><![CDATA[Dexie.js 事务管理详解]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145231705</link><guid>https://blog.youkuaiyun.com/maply/article/details/145231705</guid><author>maply</author><pubDate>Sat, 18 Jan 2025 19:53:46 +0800</pubDate><description><![CDATA[事务（Transaction）是一组数据库操作的集合，具有**ACID（原子性、一致性、隔离性、持久性）**的特性。Dexie.js提供了对IndexedDB事务的封装，简化了事务管理，确保多个数据库操作要么全部成功，要么全部回滚，以保证数据的一致性。]]></description><category></category></item><item><title><![CDATA[Dexie.js 与 IndexedDB 详细对比]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145231604</link><guid>https://blog.youkuaiyun.com/maply/article/details/145231604</guid><author>maply</author><pubDate>Sat, 18 Jan 2025 19:45:50 +0800</pubDate><description><![CDATA[IndexedDB是浏览器内置的NoSQL数据库API，而Dexie.js是基于IndexedDB的轻量级封装库，提供了更友好的API和更高效的操作方式。下面从多个维度对比两者的区别，并分析Dexie.js如何简化开发流程。]]></description><category></category></item><item><title><![CDATA[使用 Dexie.js 实现 API 数据缓存，减少网络请求]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145215933</link><guid>https://blog.youkuaiyun.com/maply/article/details/145215933</guid><author>maply</author><pubDate>Fri, 17 Jan 2025 22:44:03 +0800</pubDate><description><![CDATA[使用**Dexie.js**进行API缓存可以有效减少网络请求，提高应用的性能，同时还能在离线模式下提供更好的用户体验。]]></description><category></category></item><item><title><![CDATA[PouchDB + Dexie.js：构建高效的离线优先同步方案]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145215806</link><guid>https://blog.youkuaiyun.com/maply/article/details/145215806</guid><author>maply</author><pubDate>Fri, 17 Jan 2025 22:32:16 +0800</pubDate><description><![CDATA[在现代Web应用中，**离线优先(Offline-First)**已成为提升用户体验的关键策略。尤其是在网络环境不稳定的情况下，用户仍然可以访问和操作数据，并在网络恢复后自动同步。

**PouchDB**和**Dexie.js**是IndexedDB生态中两款强大的库，结合它们可以构建一个高效、可扩展的离线优先同步方案。]]></description><category></category></item><item><title><![CDATA[Dexie.js内存管理技巧：在大型数据集操作中避免浏览器崩溃]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145192900</link><guid>https://blog.youkuaiyun.com/maply/article/details/145192900</guid><author>maply</author><pubDate>Thu, 16 Jan 2025 22:04:14 +0800</pubDate><description><![CDATA[在使用 **Dexie.js** 操作 **大型数据集** 时，如果不注意**内存管理**，可能会导致浏览器内存溢出（OOM，Out of Memory）或崩溃。因此，以下 **内存管理技巧** 可用于优化性能，减少内存使用，避免浏览器崩溃。]]></description><category></category></item><item><title><![CDATA[Dexie.js 的批量操作与索引优化]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145192769</link><guid>https://blog.youkuaiyun.com/maply/article/details/145192769</guid><author>maply</author><pubDate>Thu, 16 Jan 2025 21:56:38 +0800</pubDate><description><![CDATA[Dexie.js 是一个高性能的 IndexedDB 库，提供了更直观的 API 和更强大的事务支持。针对大数据量的操作，合理使用 **批量操作** 和 **索引优化** 可以显著提升数据库的性能。]]></description><category></category></item><item><title><![CDATA[Cesium中的CustomDataSource 详解]]></title><link>https://blog.youkuaiyun.com/maply/article/details/145169352</link><guid>https://blog.youkuaiyun.com/maply/article/details/145169352</guid><author>maply</author><pubDate>Wed, 15 Jan 2025 22:17:42 +0800</pubDate><description><![CDATA[在 Cesium 中，`CustomDataSource` 是一个强大的类，用于处理自定义的地理数据。它提供了一种方法，可以通过程序方式添加、管理和更新动态的地理实体，而无需依赖外部数据格式（如 GeoJSON 或 CZML）。`CustomDataSource` 是 Cesium 中一个灵活且高效的工具，适合处理动态变化的数据。在开发中，你可以利用它实现实时数据可视化、用户交互等功能，并根据需求动态管理实体集合。]]></description><category></category></item></channel></rss>