分类 PHP 下的文章

MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关。

  1. MyISAM:不支持事务,用于只读程序提高性能
  2. InnoDB:支持ACID事务、行级锁、并发
  3. Berkeley DB:支持事务

一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。换言之,只有该组内的每个单独的操作都是成功的,才是完整的事务。如果在事务的任何操作失败,则整个事务将失败。

事务 ACID Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性)
事务有以下四个标准属性的缩写ACID,通常被称为:
原子性: 确保工作单元内的所有操作都成功完成,否则事务将被中止在故障点,和以前的操作将回滚到以前的状态。
一致性: 确保数据库正确地改变状态后,成功提交的事务。
隔离性: 使事务操作彼此独立的和透明的。
持久性: 确保提交的事务的结果或效果的系统出现故障的情况下仍然存在。

1、事务的原子性
一组事务,要么成功;要么撤回。

2、一致性
有非法数据(外键约束之类),事务撤回。

3、隔离性
事务独立运行。
一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。
事务的100%隔离,需要牺牲速度。

4、持久性
软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。

原文链接

昨天发现阿里云有一个学生版的服务器,一个月才10元,于是不要脸了一把,用我在读同学的阿里帐号买了一台,这样一来还是比较划算的。主要是我买了也不怎么用。
今天买了之后就立马开始移植这个博客,首先装了php5,然后是nginx,php5-fpm,mysql,装好之后稍稍配置一下nginx和php5-fpm,之后开启nginx + php-fpm + mysql,又把之前服务器上的代码和数据库拷贝了一份过来。绑好域名就开始访问了,没想到竟然不行,告诉我database无法连接,我以为是用户名密码输错了,检查几次无果,然后打开typecho的debug模式,找到报错的位置,最后发现是由于没有mysql_connect这个函数导致的,这时我才意识到是没装php5-mysql,装了以后刷新页面,一切正常~

写上一篇梦记的时候,加了几个emoji表情,没想到文章少了很多,又试了一次,发现emoji之后的文字都被干掉了。所以→_→又有事干了。。写一个让typecho支持emoji表情的插件吧。

经过一晚上的折腾,代码高亮插件终于跑起来了,这是我写的第一个typecho插件~基于Syntaxhighlighter,主题是漂亮的Monokai,感谢龙哥提供的css文件,以及帮忙修改Syntaxhighlighter源码。
制作插件过程中发现footer里的js总是显示不出来,调整半天无果。最后在这里找到了答案,原来是我在用的这个主题footer.php 中少了下面一句代码:

<?php $this->footer();?>

这个代码高亮插件基于typecho自带的markdown编辑器,插入代码时需要使用markdown语法
有空会继续完善这个插件的


PS:之前下了几个代码高亮插件一总是没什么效果,大概就是因为少了上述代码。

这周空闲时间比较多,萌生了自己搞台服务器玩玩的想法,从买服务器买域名、备案,到部署服务器,经过不少波折,同时也学到了不少,都弄好之后还装逼弄了个https -_- 。接下来会把这几天鼓捣的东西慢慢记录在这里。