- 博客(55)
- 收藏
- 关注
原创 Redis
与 MySQL 中的事务类似,都是将多个操作打包在一起执行(事务队列)。但与 MySQL 不同的是,Redis 的事务较为简单。不具有原子性:MySQL 中的事务中的某一条命令执行失败时,会执行回滚机制,而 Redis 不会。不具有一致性:不涉及“约束”,也没有回滚。MySQL 的⼀致性体现的是运⾏事务前和运⾏后,结果都是合理有效的,不会出现中间⾮法状态。而 Redis 中当某条命令执行失败时,可能会出现不一致的情况不具有持久性:Redis 为内存数据库,而 Redis 的持久化与事务无关。
2023-12-07 21:31:09
179
原创 Redis 简介
Redis是⼀种基于键值对(key-value)的 NoSQL 数据库(非关系型数据库)(而MySQL是基于表的数据库(关系型数据库))。
2023-11-26 13:15:04
334
原创 socket编程
在互联网上,所有的设备都分配有一个唯一的公网IP地址。这种地址是用于唯一地标识一台设备连接到互联网上的。而想要进行网络通信,我们需要两种IP地址:源IP地址、目的IP地址。
2023-08-15 22:48:39
289
原创 Linux 线程
一个程序的机器指令最初是存放在磁盘上的,当程序加载时,它们被复制到主存;当处理器运行程序时,指令又从主存复制到处理器。根据机械原理,较大的存储设备要比较小的存储设备运行得慢,而一个典型的寄存器文件只存储几百字节的信息,而主存中可存放几十亿字节,因此,处理器从寄存器文件中读数据比从主存中读取几乎要快一百倍。针对这种处理器与主存之前的差异,系统设计者采用了更小更快的存储设备,称为高速缓存存储器(cache memory),作为暂时的集结区域,存放处理器近期可能会需要的信息。
2023-08-04 10:51:30
247
1
原创 Linux信号
kill函数表示给指定进程发送信号signo,如果pid大于零,那么kill函数发送信号号码signo给进程pid,如果pid等于零,那么kill发送信号signo给调用进程所在进程组中的每个进程,包括调用进程自己。若是信号触发进程采取的行为为前两种方式,那么会在内核态中处理完毕后直接返回用户态从主控制流程中上次被中断的地方继续向下执行,而这同样是从内核态转为用户态,需要检查该进程的未被阻塞的待处理信号的集合,因此,若是有多个未被阻塞的待处理信号,在处理完最小的信号后会重新检查,直到没有信号需要被处理。
2023-07-22 10:57:28
109
原创 Linux文件
输入/输出(I/O)是在主存和外部设备(磁盘驱动器、终端和网络)之间复制数据的过程。输入操作是从I/O设备复制数据到主存,而输出操作是从主存复制数据到I/O设备。所有语言的运行时系统都提供执行I/O的较高级的工具。例如,ANSI C提供标准I/O库,比较常用的有:fopen()、fclose()、fread()、fwrite()、printf()、fprintf()等。语言所提供的对操作系统I/O操作的封装,具有跨平台性,工作良好。而直接使用系统的文件调用接口会比较困难,并且不具有跨平台性。
2023-07-13 19:17:58
256
原创 Linux进程
就像各种管理系统一样,进程需要像被管理的对象一样先描述成具体的数据结构再进行组织,因此,进程分为内核数据结构以及进程的代码和数据。而内核数据结构中保存的便是进程属性的集合,该内核数据结构称为PCB(process control block),被保存在内存中。在Linux操作系统中PCB的结构体名称是task struct。而task struct 中包含标示符: 描述本进程的唯一标示符,用来区别其他进程。状态: 任务状态,退出代码,退出信号等。优先级: 相对于其他进程的优先级。
2023-07-08 19:36:30
213
原创 Linux基础开发工具(yum、vim、gcc/g++、Makefile、gdb、git)
第二行为依赖方法,在执行make命令时,会在Makefile文件中自顶向下寻找第一个目标文件, 若是所依赖的文件存在但目标文件不存在或是依赖的文件的修改时间比目标文件晚,则执行依赖方法。作为一款操作系统,免不了需要一些定制化的内容,这就需要我们在Linux系统中自行安装软件,而想要在Linux系统中安装软件,常见的方法有三种:源代码安装、rpm安装、yum安装。在底行模式下,我们可以输入vs+文件名来进行多文件操作,同时,就像vim一样,若是不存在该文件,也会先进行文件的创建。
2023-07-05 22:08:02
1053
原创 二叉树的Morris遍历
不同于通过递归实现的中序遍历,二叉树还存在一种通过循环实现的Morris遍历,,这种遍历方式从结果上来看与中序遍历相同,而由于是用循环代替了递归,空间复杂度会从O(H)(H为二叉树的高度)变为O(1)
2023-05-24 12:27:10
786
3
原创 Linux权限
在Linux中, 有两种用户,分别为超级用户(root)以及普通用户而我们可以使用su指令来进行两种用户之间的切换在这个普通用户中,我们可以使用 su 命令将该用户的身份切换为root而当前所处的位置并不会发生变化同时,我们可以使用exit命令或者ctrl+d退回原本的用户我们也可以使用 su - 命令而 su -命令会直接登录到超级用户,因此所处位置也会发生改变我们也同样可以使用exit命令或者ctrl+d退回原本的用户。
2023-05-15 22:16:09
320
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人