- 博客(27)
- 收藏
- 关注
原创 数据库——数据库性能优化
系统的吞吐量瓶颈往往出现在数据库的 访问速度 上,随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢,因为其数据是存放在 磁盘 上的,读写速度无法和内存相比,所以使用数据库时,十分有必要了解数据库优化问题。这种策略的主要目的是减轻单一数据库或表的压力,提高查询和写入速度,同时支持系统的水平扩展,即通过增加更多的数据库或表来应对数据量的增长。MySQL 读写分离的实现方式主要基于 主从复制,通过 路由的方式 使应用对数据库的写请求只在 Master 上进行,读请求在 Slave 上进行。
2024-07-06 13:59:39
1076
原创 数据库——redis常见面试题
虽然 Redis 文件事件处理器以单线程方式运行,但是通过使用 I/O 多路复用程序 来监听多个套接字,文件事件处理器既实现了高性能的网络通信模型,又可以很好地与 Redis 服务器中其他同样以单线程运行的模块进行对接,这保持了 Redis 内部单线程设计的简单性。timeProc,时间事件处理器,当时间事件到达时,服务器就会调用相应的处理器来处理时间。Redis 服务器是一个 事件驱动程序,服务器需要处理以下两类事件:文件事件 (服务器对套接字操作的抽象)和 时间事件(服务器对定时操作的抽象)。
2024-07-06 13:59:07
927
原创 数据库——事务管理
事务是数据库管理系统中的一个概念,用于管理一组数据库操作,使它们作为一个不可分割的工作单元执行。一个事务可以包含一个或多个SQL语句,这些语句要么全部执行成功,要么全部回滚(撤销),从而确保数据库的数据一致性和完整性。
2024-07-06 13:58:06
1302
原创 数据库——常用SQL语句
主要功能:用于定义数据库的结构和组件。主要命令:CREATE(创建)、ALTER(修改)、DROP(删除)。特点:通过DDL,用户可以创建新的表、修改表结构,或者删除已有的表。DDL操作通常是隐式提交的,不能回滚。应用领域:数据库的初始化和配置、数据库升级和维护等。
2024-07-06 13:57:33
5198
原创 数据库——锁
在数据库管理和并发编程中,锁(Locks)是一种重要的同步机制,用于控制多个用户对共享资源的访问,以避免数据的不一致性和冲突。死锁是指两个或多个进程在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力作用,这些进程都将无法向前推进。在 可重复读 隔离级别下,读操作需要加 共享锁,但是在事务提交之前并不释放共享锁,也就是必须等待事务执行完毕以后才释放共享锁;在 读取未提交 隔离级别下,读取数据不需要加 共享锁,这样就不会跟被修改的数据上的 排他锁 冲突;:并发性能好,因为读取数据时不加锁。
2024-07-06 13:57:00
796
转载 gdb调试工具详解
是 GNU 调试器(GNU Debugger)的缩写,它是一个功能强大的 Unix-like 系统下的源代码调试器。使用 `gdb`,程序员可以查看程序在运行时的状态,设置断点,单步执行代码,检查变量的值,以及执行其他调试任务。(在命令行终端中进行)
2024-07-01 09:50:38
160
原创 shell脚本编写基础——学习笔记更新ing
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。用于编写自动化任务、批处理脚本和系统管理脚本的脚本语言
2024-06-27 22:55:18
674
原创 Linux常用命令集合——随缘更新
Linux 是一个功能强大的操作系统,它提供了大量的命令来执行各种任务。以下是一些常用的 Linux 命令及其简要说明。
2024-06-27 09:51:12
374
原创 STL标准模板库容器操作集合
STL(Standard Template Library,标准模板库)是C++标准库的一部分,它提供了大量的模板类和函数,用于执行常见的算法和数据结构操作。STL的主要目的是提供一个统一、高效、可重用的数据结构和算法库,以减少程序员在编写这些基础代码时的重复工作。
2024-06-26 23:10:21
683
原创 联邦学习Per_FedAvg复现第一部分——FedAvg与Per_FedAvg
FedAvg利用所有参与者的本地数据进行训练,模型的多样性和泛化能力得到了提高。是一种常用的联邦学习算法,它通过参与者之间的通信和模型聚合来实现全局模型的训练。特点:是一种联邦元学习方法,旨在解决联邦学习中的个性化问题。
2024-06-26 15:53:02
992
原创 pycharm使用gpu跑项目
本次作业主题在于论文复现,论文主题为Per_FedAVG,第一天完成了环境的大致搭建,第二天找到了一个FedAVG的模型代码跑了一下,效率极其低下,查阅得知,可以设置GPU来跑模型,记录如何设置作为大作业参考。如果还是不行,可以打开anaconda的可视化界面,直接在环境里面搜索pytorch,会有一个-gpu版本,apply就可以。首先确定安装了NAVIDIA,在搜索框里可以搜索到,然后,点开该控制面板可以查看到相关信息。呼出任务管理器,然后点开 性能,查看“GPU0”的版本。查看GPU驱动版本。
2024-06-26 10:18:38
1347
原创 anaconda安装与PyCharm导入环境
本篇文章就来介绍下anaconda的安装和使用。即它可以在你的电脑上创建多个你想要的python环境,并为每个python环境安装不同的包,不同环境相互切换,操作简单,使用方便!
2024-06-24 19:28:32
989
原创 个人博客搭建框架:hexo+butterfly+GitHub经验之谈
请注意,密码的复杂性要求可能因GitHub的政策而有所不同,但通常建议至少包含8个字符,并包括大小写字母、数字和特殊字符。1 安装完成后,可以通过在命令行中输入node -v和npm -v来检查Node.js和npm(Node.js的包管理器)的版本,以确保安装成功。6下次使用GitHub时,只需点击页面右上角的“Sign in”按钮,输入您的用户名和密码即可登录您的账户。避免使用简单的密码或与其他网站相同的密码。2打开您的电子邮件,找到GitHub发送的验证邮件,并复制其中的验证码。
2024-06-23 20:17:01
535
原创 markdown简易上手
由约翰·格鲁伯(John Gruber)创建,旨在简化纯文本格式的文档编写。一种纯文本格式的标记语言,可选择性地转换为有效的XHTML(或HTML)。语法简单,纯文本,可使用文本编辑器打开,并化成其他格式(HTML文档等)。
2024-06-21 13:23:33
261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人