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

Redis如何使用多个CPU

我们知道Redis是用"单线程-多路复用io模型"来实现高性能的内存数据服务的,这种机制避免了使用锁,但是同时这种机制在进行sunion之类的比较耗时的命令时会使redis的并发下降。因为是单一线程,所以同一时刻只有一个操作在进行,所以,耗时的命令会导致并发的下降,不只是读并发,写并发也会下降。而单一线程也只能用到一个cpu核心,所以可以在同一个多核的服务器中,可以启动多个实例,组成master-master或者master-slave的形式,耗时的读命令可以完全在

阅读全文...

ruby读取、写入文件

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

阅读全文...