分类:技术
-
共享锁和排它锁
两种锁的概念
共享锁(Shared Lock,S锁)
- 允许多个事务同时读取数据,但不允许修改数据。
- 其他事务可以获取共享锁,但不能获取排它锁。
排它锁(Exclusive Lock,X锁):
- 独占数据的访问权,禁止其他事务读取或修改。
- 在事务持有排它锁期间,其他事务不能获取共享锁或排它锁。
这两种锁机制确保了数据的一致性和完整性。
两种锁的使用场景
共享锁(Shared Lock, S锁)
假设有两个用户,用户A和用户B,他们都想读取同一条记录。用户A获取了该记录的共享锁,因此可以读取数据。同时,用户B也可以获取共享锁来读取相同的数据,因为共享锁允许多个读操作并发进行。
排它锁(Exclusive Lock, X锁)
现在,用户A想要修改这条记录,他需要获取排它锁。此时,用户B不能获取任何锁(包括共享锁和排它锁)来访问该记录,直到用户A完成修改并释放排它锁。这样保证了数据的一致性和防止并发写入冲突。
-
Ubuntu 下快速启用 Apache2 的 rewrite 方法
a2enmod rewrite service apache2 restart
sudo vim /etc/apache2/sites-enabled/000-default
将
AllowOverride None
全部改成
AllowOverride All
-
解决 GitHub 无法更新的问题
前提是安装了
shadowsocks
git config --global https.proxy 'socks5://127.0.0.1:1080'
-
MySQL 5.7.9 报错 “this is incompatible with sql_mode=only_full_group_by”
mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; mysql> set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
-
Linux 命令行输入的命令的操作技巧
ctrl + r //可以在历史的命令中搜索 ctrl + a //光标移到命令行的开始位置 ctrl + e //光标移到命令行的结束位置 ctrl + f //光标向前移动 ctrl + b //光标向后移动 ctrl + u //清除当前命令行 ctrl + c //直接转到下一行
-
CentOS 报错:yum-config-manager: 未找到命令
这是因为系统默认没有安装这个命令,这个命令在
yum-utils
包里,可以通过命令yum -y install yum-utils
安装就可以了。 -
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
错误原因及解决方法:
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
而 Nginx 识别不到
/scripts
路径,所以phpinfo
验证信息就无法正常通过,需要修改如下:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
注意:
$document_root
代表当前请求在root
指令中指定的值。 -
CentOS 服务器搭建 Shadowsockets 教程
yum install python-setuptools m2crypto supervisor easy_install pip pip install shadowsocks
/usr/bin/python /usr/bin/ssserver -p 443 -k yourpassword -m aes-256-cfb --user nobody -d start
-
解决错误:nginx: [emerg] unknown log format "main"
重启 nginx 出现了如下错误:
nginx: [emerg] unknown log format "main" in /usr/local/nginx/conf/nginx.conf:34
解决办法:
打开
nginx.conf
,”main” 错误是因为丢失了log_format
选项,把log_format
所在行的注释去掉就 OK 了。 -
Windows 修改 Caps Lock 为 Control 键
保存以下内容到
ChangeCapsToControl.reg
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00
双击替换成功!
文章归档
2024 年 10 月
2
2024 年 09 月
2
2024 年 07 月
1
2024 年 06 月
1
2024 年 04 月
1
2024 年 03 月
1
2024 年 01 月
2
2023 年 11 月
2
2023 年 10 月
1
2023 年 08 月
1
文章日历
2024 年 11 月 | ||||||
---|---|---|---|---|---|---|
日 | 一 | 二 | 三 | 四 | 五 | 六 |
26 | 27 | 28 | 29 | 30 | 01 | 02 |
03 | 04 | 05 | 06 | 07 | 08 | 09 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
文章标签
- Linux
- Go
- Yii
- 新浪
- CentOS
- PHP
- Git
- WSL
- Composer
- Mac
- 入职
- Bootstrap
- China
- UCenter
- 厦门
- 出差
- 长沙
- 湖南卫视
- 微博
- Tengine
- YUI
- 泰国
- pecl
- 优化
- GitLab
- 迁移
- rootless
- 年会
- 生日
- Tengin
- RedHat
- Sphinx
- cygwin
- Windows
- Tmux
- Zsh
- 升级
- MySQL
- sql_mode
- Shadowsockets
- 面向对象
- HTTP
- 状态码
- grep
- unoconv
- PPT
- Nginx
- htpasswd
- golang