Linux 文件操作 C/C++

Linux 文件操作

一、文件描述符 在linux系统内核中,所有打开的文件都是由文件描述符来表示。当打开或者创建文件时,系统会返回一个文件描述符,当向文件写入数据的时候,需要传递一个描述符给系统。 对于每一个应用程序,打...
阅读全文
Redis中的位运算 Redis

Redis中的位运算

一、基本用法 任何一门程序语言都离不开位运算这个功能,redis虽然不是一门编程语言,但也是一个和编程密切关联的工具。因此位运算自然也是redis中不可或缺的功能。 redis中位运算相关的方法: G...
阅读全文
redis字符串的基本用法和实现原理 Redis

redis字符串的基本用法和实现原理

一、基本用法 字符串是redis中的基本数据类型之一,能存储任何形式的字符串,包括二进制数据。同时,它还可以进行字符串运算、数据运算和位运算等操作。一个字符串最大能有512M。 字符串主要的操作命令有...
阅读全文
MySQL 乐观锁 MySQL

MySQL 乐观锁

一、乐观锁说明 乐观锁的使用原理是在数据表中添加一个版本字段,每次先查询当前的版本,在更新数据的时候判断版本是否和查询到的版本一致,一致就说明数据没有被修改,可以操作数据并把版本号+1;如果版本号不一...
阅读全文
MySQL 悲观锁 MySQL

MySQL 悲观锁

一、什么是悲观锁 前文说明了MySQL事务在并发环境下会导致脏读和不可重复读等等的现象,数据库通过事务隔离级别也就是我们常说的锁来解决这个问题。悲观锁的工作原理是假设每次事务都会被其他事务打断,所以在...
阅读全文
MySQL的事务隔离级别 MySQL

MySQL的事务隔离级别

一、事务并发带来的问题 1.1 第一类丢失更新 两个事务同时更新一行数据,第一个事务正常更新,第二个事务中途退出回滚数据到初始状态,导致第一个事务更新失效。 如:银行卡存储了用户甲的余额4000,此时...
阅读全文
MySQL事务的基本用法 MySQL

MySQL事务的基本用法

一、什么是事务 事务是一组SQL语句构成的语句集合,它保证所有的SQL都能全部执行或者全部不执行。 事务必须满足四个条件(ACID):Atomicity 原子性 Consistency 一致性 Iso...
阅读全文