良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

ruby读取、写入文件

简单的键盘输入、I/O流操作,gets获取键盘输入数据、从块block获取数据,to_i转型为integer ;line = File.read("temp.dat")获取temp.dat的数据,原样获取,但可用数据为第一行第一空格之前;也可以从文件读取数据,保存为块block,在从这个块中获得数据,原样获取,但可用数据为每行第一个空格之前,
File.open("temp.dat") do |file|

阅读全文...

ruby调用执行shell命令的方法

1.Exec方法:

    Kernel#exec方法通过调用指定的命令取代当前进程:

 例子:

     $ irb
      >> exec 'echo "hello $HOSTNAME"'
         hello nate.local
      $
值得注意的是,exec方法用echo命令来取代了irb进程从而退出了irb。主要的缺点是,你无法从你的ruby脚本里知道这个命令是成功还是失败。


阅读全文...

Ruby 初学

Ruby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby LicenseRuby的作者认为Ruby > (Smalltalk + Perl) / 2,表示Ruby是一个语法像Smalltalk一样完全面向对象脚本执行、又有Perl强大的文字处理功能的编程语言。其他特色包括:

§  运算符重载

§  自动垃圾回收

§  弱类型(动态类型 | 标量变量)

§  变量无需声明 (不必事先宣告变量)

§  Windows上,加载DLL

§  巨大的标准(函式库;Library)


阅读全文...

标签: ruby学习

作者:良玉 分类:Ruby 浏览:941 评论:0

redis常见的性能问题

1.Master写内存快照

save命令调度rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以Master最好不要写内存快照。

2.Master AOF持久化

如果不重写AOF文件,这个持久化方式对性能的影响是最小的,但是AOF文件会不断增大,AOF文件过大会影响Master重启的恢复速度。

3.Master调用BGREWRITEAOF

Master调用BGREWRITEAOF重写AOF文件,AOF在重写的时候会占大量的CPU和内存资源,导致服务load过高,出现短暂服务暂停现象。


阅读全文...

Redis的数据回写机制

Redis的数据回写机制分同步和异步两种: 

1. 同步回写即SAVE命令,主进程直接向磁盘回写数据。在数据大的情况下会导致系统假死很长时间,所以一般不是推荐的。  

2. 异步回写即BGSAVE命令,主进程fork后,复制自身并通过这个新的进程回写磁盘,回写结束后新进程自行关闭。由于这样做不需要主进程阻塞,系统不会假死,一般默认会采用这个方法。


阅读全文...

redis 主从

 一、原理

Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面是关于redis主从复制的一些特点:

1.master可以有多个slave

2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构


阅读全文...

标签: redis主从

作者:良玉 分类:Redis 浏览:813 评论:0

shell trap

trap用于捕获信号。
信号可以被应用程序或脚本捕获。并依据该

阅读全文...

标签: shell.trap

作者:良玉 分类:Shell 浏览:617 评论:0

json和php数组 格式的互相转换

$json_arr = array('WebName'=>'PHP网站开发教程网','WebSite'=>'http://www.jb51.net'); 
$php_json = json_encode($json_arr);  //把php数组格式转换成 json 格式的数据
echo $php_json; 
$php_json = json_decode($php_json);   //再把json格式的数据转换成php数组
print_r($php_json);

阅读全文...

解决Nginx部署ThinkPHP

网上通用解决方法的配置如下:

  1. server {  

  2.  ...  

  3.     location / {  

  4.         index  index.htm index.html index.php;  

  5.         #访问路径的文件不存在则重写URL转交给ThinkPHP处理  

  6.         if (!-e $request_filename) {  

  7.            rewrite  ^/(.*)$  /index.php/$1  last;  

  8.            break;  

  9.         }  


阅读全文...

标签: nginxthinkphp

作者:良玉 分类:Nginx 浏览:619 评论:0

开启thinkphp的调试功能

thinkphp做为一个开源的php mvc框架深入phper的喜爱,学习这个框架的人也是越来越多,但学习过程并不是那么容易,这样或那样的错误,总会让我们觉得无从入手。幸好thinkphp本身为我们提供了调试功能,方便我们对程序进跟踪。
那么如何开启thinkphp的调试功能呢?下面就由flyed来告诉你。

阅读全文...