- 面试官:“只会用自增主键?回去等通知吧” 面试官:“只会用自增主键?回去等通知吧”
- 一、幂等性 1、概念用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条。在以前的单应用系统中,我们只需要把数据操作放入事务中即可,发生错误立即回... 一、幂等性 1、概念用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条。在以前的单应用系统中,我们只需要把数据操作放入事务中即可,发生错误立即回...
- 一、Redis介绍Redis诞生于2009年全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库。特征:键值(key-value)型,value支持多种不同数据结构,功能丰富单线程,每个命令具备原子性低延迟,速度快(基于内存、IO多路复用、良好的编码)。支持数据持久化支持主从集群、分片集群支持多语言客户端 二、Redis各种常用命令... 一、Redis介绍Redis诞生于2009年全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库。特征:键值(key-value)型,value支持多种不同数据结构,功能丰富单线程,每个命令具备原子性低延迟,速度快(基于内存、IO多路复用、良好的编码)。支持数据持久化支持主从集群、分片集群支持多语言客户端 二、Redis各种常用命令...
- 前言无论是面试还是工作,持久化都是重点!Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化功能!——RDB(Redis DataBase)和AOF(Append Only File) 一、什么是RDB?接下来请看一张便于理解的剖析图图片解读:在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话... 前言无论是面试还是工作,持久化都是重点!Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化功能!——RDB(Redis DataBase)和AOF(Append Only File) 一、什么是RDB?接下来请看一张便于理解的剖析图图片解读:在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话...
- 前言Redis的缓存穿透、缓存雪崩、缓存击穿是啥?各位看官进来看看面试官考我Redis中的缓存穿透、缓存雪崩和缓存击穿 缓存穿透缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。缓存穿透产生的原因是什么?用户请求的数据在缓存中和数据库中都不存在,不断发起这样的请求,给数据库带来巨大压力.客户端恶意疯狂访问打入Redis没有命中直接去数据库... 前言Redis的缓存穿透、缓存雪崩、缓存击穿是啥?各位看官进来看看面试官考我Redis中的缓存穿透、缓存雪崩和缓存击穿 缓存穿透缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。缓存穿透产生的原因是什么?用户请求的数据在缓存中和数据库中都不存在,不断发起这样的请求,给数据库带来巨大压力.客户端恶意疯狂访问打入Redis没有命中直接去数据库...
- 介绍在这篇简短的文章中,我将解释一种加速 Web 应用程序的常用方法。它涉及将任务从主线程中移开并将它们放在队列中以进行异步处理,使用队列单独组织和处理这些任务。在服务器端应用程序中,有效处理图像处理等资源密集型任务是一项重大挑战。这些操作通常占用大量计算量,可能会使主线程陷入困境,从而导致性能下降和可伸缩性差。 眼前的挑战在服务器端应用程序中,管理使用大量计算机能力的图像处理是一个巨大的... 介绍在这篇简短的文章中,我将解释一种加速 Web 应用程序的常用方法。它涉及将任务从主线程中移开并将它们放在队列中以进行异步处理,使用队列单独组织和处理这些任务。在服务器端应用程序中,有效处理图像处理等资源密集型任务是一项重大挑战。这些操作通常占用大量计算量,可能会使主线程陷入困境,从而导致性能下降和可伸缩性差。 眼前的挑战在服务器端应用程序中,管理使用大量计算机能力的图像处理是一个巨大的...
- 本文讨论了零拷贝在优化数据传输效率方面的局限性。尽管零拷贝技术在减少数据传输过程中的内存拷贝次数方面有很大的优势,但它并非适用于所有情况。文章介绍了一些其他的优化方法,如异步I/O和直接I/O的组合、根据文件大小选择不同的优化方式。至此,我们的计算机基础专栏就结束了,不知道大家有没有发现,操作系统底层提供了丰富的解决方案来支持应用程序的复杂性和可扩展性。对于任何工作中遇到的问题,我们都可以从操作系 本文讨论了零拷贝在优化数据传输效率方面的局限性。尽管零拷贝技术在减少数据传输过程中的内存拷贝次数方面有很大的优势,但它并非适用于所有情况。文章介绍了一些其他的优化方法,如异步I/O和直接I/O的组合、根据文件大小选择不同的优化方式。至此,我们的计算机基础专栏就结束了,不知道大家有没有发现,操作系统底层提供了丰富的解决方案来支持应用程序的复杂性和可扩展性。对于任何工作中遇到的问题,我们都可以从操作系
- 前言Redis实现简单分布式锁。 一、概述 为什么使用分布式锁在多线程环境中,如果多个线程同时访问共享资源(例如商品库存、外卖订单),会发生数据竞争,可能会导致出现脏数据或者系统问题,威胁到程序的正常运行。举个例子,假设现在有 100 个用户参与某个限时秒杀活动,每位用户限购 1 件商品,且商品的数量只有 3 个。如果不对共享资源进行互斥访问,就可能出现以下情况:线程 1、2、3 等多个线... 前言Redis实现简单分布式锁。 一、概述 为什么使用分布式锁在多线程环境中,如果多个线程同时访问共享资源(例如商品库存、外卖订单),会发生数据竞争,可能会导致出现脏数据或者系统问题,威胁到程序的正常运行。举个例子,假设现在有 100 个用户参与某个限时秒杀活动,每位用户限购 1 件商品,且商品的数量只有 3 个。如果不对共享资源进行互斥访问,就可能出现以下情况:线程 1、2、3 等多个线...
- Redis使用 Redis使用
- 0 怎样使用我们继续的动力通常来自有某个问题,或者我们有了一个工具,通常会想,它可以解决什么类型的问题?在使用时应注意什么它?在我们回答这些问题中的任何一个之前,我们需要了解它是什么。Redis通常被描述为内存中持久键值存储。它确实将所有数据保存在内存中,并且确实将其写到磁盘上以实现持久性,但是不仅仅是一个简单的键值存储。重要的是要走出这种误解,否则您的观点及其解决的问题将太狭窄。现实是R... 0 怎样使用我们继续的动力通常来自有某个问题,或者我们有了一个工具,通常会想,它可以解决什么类型的问题?在使用时应注意什么它?在我们回答这些问题中的任何一个之前,我们需要了解它是什么。Redis通常被描述为内存中持久键值存储。它确实将所有数据保存在内存中,并且确实将其写到磁盘上以实现持久性,但是不仅仅是一个简单的键值存储。重要的是要走出这种误解,否则您的观点及其解决的问题将太狭窄。现实是R...
- 目录什么是RDB配置位置参数解读如何使用自动触发手动触发save bgsaveRDBRDB持久化文件的恢复正常恢复 恢复失败处理方法RDB优势RDB 缺点 redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中持久化的方式有:RDB:定时将数据保存在硬盘中(dump.rdb)(默认)AOF:保存所有操作的命令... 目录什么是RDB配置位置参数解读如何使用自动触发手动触发save bgsaveRDBRDB持久化文件的恢复正常恢复 恢复失败处理方法RDB优势RDB 缺点 redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中持久化的方式有:RDB:定时将数据保存在硬盘中(dump.rdb)(默认)AOF:保存所有操作的命令...
- 目录基本介绍数据结构消息消费组消费者基本使用命令概述 xadd 命令xtrim 命令 xdel 命令xlen 命令xrange 命令xread 命令 xgroup 命令 xreadgroup 命令xack 命令基本介绍Redis stream(流)是一种数据结构,其作用类似于仅追加日志,但也实现了多个操作来克服典型仅追加日志的一些限制。其中包括O(1)时间的随机访问和复杂的消费策略,如消... 目录基本介绍数据结构消息消费组消费者基本使用命令概述 xadd 命令xtrim 命令 xdel 命令xlen 命令xrange 命令xread 命令 xgroup 命令 xreadgroup 命令xack 命令基本介绍Redis stream(流)是一种数据结构,其作用类似于仅追加日志,但也实现了多个操作来克服典型仅追加日志的一些限制。其中包括O(1)时间的随机访问和复杂的消费策略,如消...
- 签到功能是我们非常常见的一个功能,几乎在每个app中都能碰到,让我们一起看看如何实现吧~ 一.BitMap用法引入我们针对签到功能完全可以通过mysql来完成,比如说以下这张表但这种方法也存在一些问题:用户一次签到,就是一条记录,假如有1000万用户,平均每人每年签到次数为10次,则这张表一年的数据量为 1亿条每签到一次需要使用(8 + 8 + 1 + 1 + 3 + 1)共22 字节的内存... 签到功能是我们非常常见的一个功能,几乎在每个app中都能碰到,让我们一起看看如何实现吧~ 一.BitMap用法引入我们针对签到功能完全可以通过mysql来完成,比如说以下这张表但这种方法也存在一些问题:用户一次签到,就是一条记录,假如有1000万用户,平均每人每年签到次数为10次,则这张表一年的数据量为 1亿条每签到一次需要使用(8 + 8 + 1 + 1 + 3 + 1)共22 字节的内存...
- 本篇技术博文将深入探讨 Redis 持久化机制的原理、配置和使用方式。我们将介绍两种常用的持久化方式:RDB 持久化和 AOF 持久化。您将了解到它们的工作原理、优缺点以及如何根据需求选择合适的持久化方式。 通过深入学习 Redis 持久化及集群架构,您将能够构建稳定、可靠并具备高可用性的 Redis 存储解决方案。这有助于提升系统的性能和稳定性,确保数据安全并能够应对高并发和大规模应用的需求。 本篇技术博文将深入探讨 Redis 持久化机制的原理、配置和使用方式。我们将介绍两种常用的持久化方式:RDB 持久化和 AOF 持久化。您将了解到它们的工作原理、优缺点以及如何根据需求选择合适的持久化方式。 通过深入学习 Redis 持久化及集群架构,您将能够构建稳定、可靠并具备高可用性的 Redis 存储解决方案。这有助于提升系统的性能和稳定性,确保数据安全并能够应对高并发和大规模应用的需求。
- 本文介绍了Linux网络设计中的Reactor网络模型及其在实际应用中的重要性。Reactor模型是一种经典的事件驱动设计模式,广泛应用于构建高性能、可扩展的网络服务器。我们将探讨Reactor模型的基本原理和组成部分,并详细介绍了Reactors模型在Linux网络编程中的实现方式。 本文介绍了Linux网络设计中的Reactor网络模型及其在实际应用中的重要性。Reactor模型是一种经典的事件驱动设计模式,广泛应用于构建高性能、可扩展的网络服务器。我们将探讨Reactor模型的基本原理和组成部分,并详细介绍了Reactors模型在Linux网络编程中的实现方式。
上滑加载中
推荐直播
-
香橙派AIpro的远程推理框架与实验案例
2025/07/04 周五 19:00-20:00
郝家胜 -华为开发者布道师-高校教师
AiR推理框架创新采用将模型推理与模型应用相分离的机制,把香橙派封装为AI推理黑盒服务,构建了分布式远程推理框架,并提供多种输入模态、多种输出方式以及多线程支持的高度复用框架,解决了开发板环境配置复杂上手困难、缺乏可视化体验和资源稀缺课程受限等痛点问题,真正做到开箱即用,并支持多种笔记本电脑环境、多种不同编程语言,10行代码即可体验图像分割迁移案例。
回顾中 -
鸿蒙端云一体化应用开发
2025/07/10 周四 19:00-20:00
倪红军 华为开发者布道师-高校教师
基于鸿蒙平台终端设备的应用场景越来越多、使用范围越来越广。本课程以云数据库服务为例,介绍云侧项目应用的创建、新建对象类型、新增存储区及向对象类型中添加数据对象的方法,端侧(HarmonyOS平台)一体化工程项目的创建、云数据资源的关联方法及对云侧数据的增删改查等操作方法,为开发端云一体化应用打下坚实基础。
即将直播
热门标签