金银财宝价最高, 光阴似箭斩人的刀。 日月穿梭催人老 太阳佛三道金光把人熬。
意思说,就算有千军万马金银无数,最终也敌不过时间的刻画!最终的结果还是灰飞烟灭!
所以做人要看淡泊些才好

分析:金银财宝的价值是高的,但光阴像箭那样快能使人衰老就像用刀在杀人,日月如穿梭把人催老,太阳这个神佛的三道金光能把人熬老。

三道金光分别是蒿殷仙帝、弘虚仙帝、斐狄仙帝!三大宗主!

#!perl
use strict;
use Cache::Memcached::Fast;



sub getConfig{

return ["xx.xx.xx.201:11211","xx.xx.xx.203:11211","xx.xx.xx.204:11211","xx.xx.xx.205:11211","xx.xx.xx.206:11211","xx.xx.xx.207:11211","xx.xx.xx.208:11211","xx.xx.xx.218:11211","xx.xx.xx.235:11211","xx.xx.xx.236:11211","xx.xx.xx.237:11211","xx.xx.xx.238:11211","xx.xx.xx.239:11211","xx.xx.xx.240:11211"];

}

my $memcached ;
my $expires = 1800;
my $memcached =Cache::Memcached::Fast->new({ servers =>getConfig(), ketama_points => 151});

my @addMutiKeys=();
my @addMutiExipres=();
my @addMutiValues=();
my $addMultiStr="";
my $split="";
for ( my $i = 0 ; $i < 10000 ; $i++ ) {
my $index=$i;
push(@addMutiKeys,"myn_key_".$index);
push(@addMutiValues,"myn_value_".$index);
push(@addMutiExipres,3600);
$addMultiStr=$addMultiStr.$split."[\""."myn_key_".$index."\",\"1\",3600]";
  $split=",";

}
#my $hashKeys=$memcached->add_multi(["aaa","111",3600],["bbb","222",3600]);
#my $hashKeys=$memcached->add_multi(map { [$addMutiKeys[$_], "aa"] } @addMutiValues);
#$hashKeys=$memcached->get_multi(@addMutiKeys);
my $hashKeys;
my $evalStr="return \$memcached->add_multi($addMultiStr);";
$hashKeys=eval($evalStr);

my $i=0;
for($i=0;$i<@addMutiKeys;$i++)
{
#print $addMutiKeys[$i]."\n";
}

my $ekey;
foreach $ekey (keys(%$hashKeys))
{
print "key=".$ekey."[".$$hashKeys{$ekey}."]\n";
}


$memcached->disconnect_all();
表结构如下:
mysql> select * from test;
+----+-------+
| id | name  |
+----+-------+
|  1 | test1 |
|  2 | test2 |
|  3 | test3 |
|  4 | test4 |
|  5 | test5 |
+----+-------+

执行以下SQL:
mysql> select * from test where id in(3,1,5);
+----+-------+
| id | name  |
+----+-------+
|  1 | test1 |
|  3 | test3 |
|  5 | test5 |
+----+-------+
3 rows in set (0.00 sec)

这个select在mysql中得结果会自动按照id升序排列,
但是我想执行"select * from test where id in(3,1,5);"的结果按照in中得条件排序,即:3,1,5,想得到的结果如下:
id   name
3    test3
1    test1
5    test5



mysql> select * from Tbl_FQQ_FScoreCount where id in(3,1,5) order by find_in_set(id,'3,1,5');    
+----+-----------+-------------+
| ID | FQQ       | FScoreCount |
+----+-----------+-------------+
|  3 | 715113297 |          40 |
|  1 |  78540474 |          37 |
|  5 |   1735548 |           0 |
+----+-----------+-------------+



select id, name from table where 'daodao' IN (list);
IN (list);      如果list是常量,则可以直接用IN,大家怎么看?  
WD(西部数据)64M 绿盘补丁
WD6400AARS
WD10EARS
WD15EARS
WD20EARS
以上型号的WD硬盘都需要打补丁 或者加跳线帽
这里是补丁下载地址  
http://support.wdc.com/product/downloadsw.asp?sid=123&lang=cn


Linux中select函数学习及实例笔记
http://blog.chinaunix.net/u3/104447/showart_2150356.html

http://hi.baidu.com/wind_stay/blog/item/3f803a35849cd4bdd0a2d38b.html阅读全文
给了他一项承受不了的罪名。
“我会给他们一个无法拒绝的条件”_


北宋据现代学者测算:它的国民生产总值是世界的80%,北宋是‘人类第二个千年的领头羊’


大行皇帝归天,谁来继承大统?宋史徽宗本纪:母以字贵,如继统,应立先帝,同母弟简王(和先帝的同母:第十三子)。哲宗皇帝不是向太后所生,是庶出,是朱太后所生。如果再立了简王。
向皇后是已故宰相向敏中的曾孙女,英宗治平三年嫁给赵顼,封为安国夫人,治平四年赵顼即位,被册立为皇后。
北宋灭亡的时期其国内,而此时当政的神宗归天,帝王儿子早死。没有嫡传皇子,此时候的向皇后(尊为"元祐皇后")也没有留下儿子。向皇后被尊为皇太后,朱德妃却不能母以子贵,只被尊为太妃,也没有受到应有的待遇。
欠缺治国才能。李煜国家小,


“宋朝的第六代皇帝宋神宗在位时,任用王安石变法,国民经济迅速发展,国家富庶繁华,据现代专家统计,北宋时期的国民生产总值,占了当时世界的80%,是明朝的10倍之多。”其神宗皇后-向皇后功不可没!
在向太后后面有宰相位置的须臾。。



但是史学界公认的看法是,宋朝的国民生产总值占当时世界的50%以上,最高达80%!因此我们可以这样说:宋朝的时候中国很富裕,比世界其他地方最好水平至少富裕一倍!”


给了他一项承受不了的罪名。那个时候宋朝很富有,但是还是提倡节俭。

范仲淹的儿子给宋徽宗招回来当宰相路上死了,苏轼也在回来途中死,一个个的文豪巨星都陨落了。

早期的徽宗皇上饿了要吃饭,而大臣说需要等我说完,把皇上的衣服给扯破了。
而和唐朝的魏征相似,但是有长孙皇后在位辅佐,而这时候的,向太后已经归西,没法实现偏听者暗,监听则明

任用了蔡京做宰相,这是最大的失误。奸相辅政,作为一个皇帝不能应一个共同爱好而,亲近和重用某些人。结果还曲解易经,把皇帝的品味提高了,铸九鼎,大兴奢侈之风。
时下,登上CCTV10百家讲坛的,是北京市海淀进修学校高级教师袁腾飞,讲述的内容是《两宋风云》。在前几讲插入的楔子是:“北宋是个很富庶的朝代,历朝都无法与它相比。据史学家研究,北宋的国民生产总值占当时世界的80%”。由于楔子的反复灌输,在给我深刻印象的同时,也引起我的质疑。阅读全文

爱了就别伪装  
迷失了也别彷徨  
不管未来怎样  
你都要保持坚强  
送给所有柔中带刚的个性MM  阅读全文
电视上经常说VCR,.但偶不知道全称是什么,有知道的告诉一声1
VCR是Video Cassette Recorder的缩写 盒式磁带录像机

但是在电视上的总以节目里面 例如某主持人说:让我们先看一段VCR

这里的VCR的意思是指一个视频片断  
有三个办法,1.mysqlimport 2.load data 3才是source ,最好先去掉所有的索引,待数据完成导入后再一个个添加回
LOAD DATA INFILE句法
基本语法:
load data  [low_priority] [local] infile 'file_name txt' [replace | ignore]
into table tbl_name
[fields
[terminated by't']
[OPTIONALLY] enclosed by '']
[escaped by'\' ]]
[lines terminated by'n']
[ignore number lines]
[(col_name,   )]
load data infile语句从一个文本文件中以很高的速度读入一个表中。使用这个命令之前,mysqld进程(服务)必须已经在运行。为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用load data infile,在服务器主机上你必须有file的权限。
1  如果你指定关键词low_priority,那么MySQL将会等到没有其他人读这个表的时候,才把插入数据。可以使用如下的命令:
load data  low_priority infile "/home/mark/data sql" into table Orders;
  2  如果指定local关键词,则表明从客户主机读文件。如果local没指定,文件必须位于服务器上。
  3  replace和ignore关键词控制对现有的唯一键记录的重复的处理。如果你指定replace,新行将代替有相同的唯一键值的现有行。如果你指定ignore,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键时,出现一个错误,并且文本文件的余下部分被忽略。例如:
load data  low_priority infile "/home/mark/data sql" replace into table Orders;
  4 分隔符
(1) fields关键字指定了文件记段的分割格式,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:
terminated by分隔符:意思是以什么字符作为分隔符
enclosed by字段括起字符
escaped by转义字符
terminated by描述字段的分隔符,默认情况下是tab字符(\t)
enclosed by描述的是字段的括起字符。
escaped by描述的转义字符。默认的是反斜杠(backslash:\ )  
例如:load data infile "/home/mark/Orders txt" replace into table Orders fields terminated by',' enclosed by '"';
(2)lines 关键字指定了每条记录的分隔符默认为'\n'即为换行符
如果两个字段都指定了那fields必须在lines之前。 如果不指定fields关键字缺省值与如果你这样写的相同: fields terminated by'\t' enclosed by ’ '' ‘ escaped by'\\'
如果你不指定一个lines子句,缺省值与如果你这样写的相同: lines terminated by'\n'
例如:load data infile "/jiaoben/load.txt" replace into table test fields terminated by ',' lines terminated by '/n';
5  load data infile 可以按指定的列把文件导入到数据库中。 当我们要把数据的一部分内容导入的时候,,需要加入一些栏目(列/字段/field)到MySQL数据库中,以适应一些额外的需要。比方说,我们要从Access数据库升级到MySQL数据库的时候
下面的例子显示了如何向指定的栏目(field)中导入数据:
load data infile "/home/Order txt" into table Orders(Order_Number, Order_Date, Customer_ID);
6  当在服务器主机上寻找文件时,服务器使用下列规则:
(1)如果给出一个绝对路径名,服务器使用该路径名。
(2)如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。  
(3)如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。
例如: /myfile txt”给出的文件是从服务器的数据目录读取,而作为“myfile txt”给出的一个文件是从当前数据库的数据库目录下读取。
注意:字段中的空值用\N表示
来源:http://blog.chinaunix.net/u3/100752/showart_1993119.html
补充:
创建一个表
Use Test;
Create Table TableTest(
`ID` mediumint(8) default '0',
`Name` varchar(100) default ''
) TYPE=MyISAM;
向数据表导入数据
Load Data InFile 'C:/Data.txt' Into Table `TableTest`
常用如下:
Load Data InFile 'C:/Data.txt' Into Table `TableTest` Lines Terminated By 'rn';
这个语句,字段默认用制表符隔开,每条记录用换行符隔开,在Windows下换行符为“rn”
C:/Data.txt 文件内容如下面两行:
1 A
2 B
“1”和“A”之间有一个制表符
这样就导进两条记录了。
自定义语法
Load Data InFile 'C:/Data.txt' Into Table `TableTest` Fields Terminated By ',' Enclosed By '"' Escaped By '"' Lines Terminated By 'rn';
Fields Terminated By ',' Enclosed By '"' Escaped By '"'
表示每个字段用逗号分开,内容包含在双引号内
Lines Terminated By 'rn';
表示每条数据用换行符分开
和 Load Data InFile 相反的是把表的数据导出语句
Select * From `TableTest` Into OutFile 'C:/Data_OutFile.txt';






歌曲赏析
 初听这首歌很多人都会感到很别扭,但多听几遍之后便会升起一种说不出的喜欢。仔细想想,其实中国古代的军歌战曲还正是这种曲调。古代音乐和现在流行的音乐差别很大,所以听起来别扭也就不足为怪了。不过仔细再听几遍还真挺有感觉,虽说新三国剧情拍得像偶像剧但这片头曲还真有股子英雄气。乱世之间,金戈铁马,有气势,有血性。这可以说是一种中国风,当然不是流行音乐里的那种,而是古代军乐的中国风。   看着新版三国肯定就少不了和老版三国作比较。剧情要比,演员要比,主题曲也要比。不过喜欢老版 “滚滚长江东逝水”的观众显然要更多一些。其实这两首歌并不能单纯的比较出优劣,因为它们的风格是完全不一样的。新版主题曲突出的是一种霸气,英雄气。旧版则有一种悲情色彩,从词里就可以看出来,是非成败转头空,无论英雄狗熊最后都付笑谈中。一种看破红尘的情怀。换句话说,新版是以乱世之中的英雄为主人公,抒发自己的胸臆。而老版主题曲则是以后人的角度来看历史,有一种凭吊前人的色彩。因为所出发的角度不一样所以不能简单的论高低。   很多人都在批评新版的歌词写得太烂,确实,要是和唐诗宋词比起来那简直就是天上地下。不过别忘了这可是现代人来写复古风格的词,咱别用唐宋诗词的标准来苛求现代词人。这就像你找一个老外和你比说中国话一样。很多人都很怀念老版的“滚滚长江东逝水”。很大原因因为这歌词是三国演义原著的开篇词。关于这首开篇词我想有必要说一下。可能有些人一直认为这三国演义的开篇词是罗贯中写的,其实不是。这是明朝的大家杨慎的一首词,“临江仙”,所以这首词根本就不是专门为三国而写的。不仅如此,在三国演义中引用这首词的也不是罗贯中,因为杨慎出生的时候罗贯中早就不知死了多少年了。事实上是清朝的文学批评家毛宗岗把这首“临江仙”引到了三国演义的卷首。

风云起处 苍黄变化 箭在弦上不得不发 允文允武 三分天下 鼎之轻重 可以问吗

     弹剑作歌 披挂上马 霸王大业不是空话 男儿碰撞 一团火花 百年人生 瞬间光华

     塞北秋风猎马 江南春雨杏花 千古江山如诗如画 还我一个太平天下

     千古江山如诗如画 还我一个太平天下


特别喜欢里面:塞北秋风猎马 江南春雨杏花 千古江山如诗如画,转折得很好。再就是:百年人生 瞬间光华





























允文允武

  发音:yǔn wén yǔn wǔ   释义:允:文言语首助词。形容既能文又能武。   语出:《诗经·鲁颂·泮水》:“允文允武。昭假烈祖。”   示例:传忠传孝,~。 ★明·张岱《孙忠烈公世乘序》
8位为一个字节,共计:64位,共计:8个字节。
int QQ,int Score
4+4个字节*100万= 8000000字节
1024字节=1KB
去掉3个0,8000k,约等于:8M,不大也,呵呵

摘自CU论坛里面的一个问题:
[root@mail mysql]# /usr/local/mysql/bin/mysql -uroot -p123 -e "show table status from stat" | awk 'NR>=2{index_size =$9;data_size =$7}END{print "index_size\t"(index_size/1024/1024)"M";print "data_size\t"(data_size/1024/1024)"M"}'
index_size 2717.81M
data_size 3858.27M




mysql -uroot  -e "show table status from stat" | awk 'NR>=2{index_size =$9;data_size =$7}END{print "index_size\t"(index_size/1024/1024)"M";print "data_size\t"(data_size/1024/1024)"M"}'
MERGE引擎类型可以把许多结构相同的表合并为一个表。通过对merge表的简单查询,可以轻松实现对多个子表进行查询的目的。

我们的日志系统按照月为单位进行分表,由merge联合所有月份子表,实现跨月(跨表)的日志查询。这样的做法是程序端的逻辑比较简单,无需关注多表的数据整合和处理。

随着子表越来越多、数据越来越大,查询的速度越来越慢。子表的数据量增长并非数量级的,那么从理论上讲通过merge进行查询,速度受到影响的浮动应该是很小的,但现实却非如此。

刚开始并不知道原因,通过profiling检查详细的耗时情况,发现Sending data占用了99%的时间,从官方解释来看,Sending data貌似是发送数据到client端的耗时,检查了一下,仅仅只有几K的数据发送,明显不是此原因。SQL挺简单的,基本的优化也都做了,那么是什么原因?

之后调试代码时无意中针对一个子表进行了一次查询,发现速度几十倍的提高,之前对merge的查询需要20多秒,现在仅仅不到1秒就执行完了,这个感觉是很明显的,于是进一步进行了测试,发现问题的确如此。

所以,建议还是在代码逻辑中对多表数据进行处理,避免使用Merge引擎。

有时间看一下源码中Sending data是如何计算的以及Merge是如何进行多表数据集合的。 希望Mysql能把Merge引擎做的更加稳定、高效,真正发挥Merge引擎的优势。

来源:http://hi.baidu.com/chancey/blog/item/775d8682db4387a90df4d20e.html
版权归膘哥,来源:
膘叔(19129540)  10:45:16

$a = array (1, 2, array ("a", "b", "c"));
$b = var_export ($a,TRUE);
eval( "\$c=\$b;" );
echo '<pre>';
print_r( $c );
echo '</pre>';
膘叔(19129540)  10:45:35
var_export后是存成字符串了。

接合swoole实践:


输出:
curl http://127.0.0.1:9501/abc
    Swoole\Http\Request::__set_state(array(
   'fd' => 1,
   'header' =>
  array (
    'user-agent' => 'curl/7.29.0',
    'host' => '127.0.0.1:9501',
    'accept' => '*/*',
  ),
   'server' =>
  array (
    'request_method' => 'GET',
    'request_uri' => '/abc',
    'path_info' => '/abc',
    'request_time' => 1649747144,
    'request_time_float' => 1649747144.16464,
    'server_protocol' => 'HTTP/1.1',
    'server_port' => 9501,
    'remote_port' => 62006,
    'remote_addr' => '127.0.0.1',
    'master_time' => 1649747143,
  ),
   'cookie' => NULL,
   'get' => NULL,
   'files' => NULL,
   'post' => NULL,
   'tmpfiles' => NULL,
))
    Hello, world!


回忆未来(372647693)  10:58:07

<?php
$a = array (1, 2, array ("a", "b", "c"));
$b = var_export ($a,TRUE);
eval( "\$c=\$b;" );
var_dump($c);



string(94) "array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)"
是个string啊。。。

最后,═ 云下遮雨  11:28:47 给出了个解决方案:
eval( '$c='.$b.';');
eval( "\$c={$b};" );
eval( "\$c=".$b.";" );



我尝试了一下,确实还回位原来的数组了,代码如下:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<?php
$a = array (1, 2, array ("a", "b", "c"));
$b = var_export ($a,TRUE);
//eval( "\$c=".$b.";" );
eval( "\$c={$b};" );
print_r($c);
//print_r( $c );

?>








+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


[~]# php var_export.php

Array
(
    [0] => 1
    [1] => 2
    [2] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

)


指出了膘哥的一个小错误:
═ 云下遮雨  11:38:46
eval( "\$c=\$b" ); 这样就是错的,相当于 $c=$b

将数组型数据格式化存储常用serialize(),var_export(),json_encode()这三种
至于这三种的效率,
参考了http://www.phpdevblog.net/2009/11/serialize-vs-var-export-vs-json-encode.html

他的测试分了不同数据量,但是整体看来json_encode>var_export>serialize
先记下,回头自己测试验证一下!

最近看到igbinary库(http://opensource.dynamoid.com/)效率比PHP原生的强
支持两个函数igbinary_serialize andigbinary_unserialize

在php.ini中配置:

# Load igbinary extension
extension=igbinary.so

# Use igbinary as session serializer
session.serialize_handler=igbinary


来源:http://hi.baidu.com/lnnujxxy/blog/item/e5025fde4b4a6b52ccbf1abb.html
一般我们把数组缓存到文件中的话,都是先要转成字符串的形式,然后再存入文本文件中,一般有两种机制把数组转成字符串,
第一种是
$str = var_export($arr, true);
第二种是
$str = serialize($arr);
这两种机制转换之后的字符串是不一样的,第一种是数组的原型模式,第二种是序列化后的形式。第一种存入文件中的只要加上<?php ?>标签,就形式了一个可用的数组原型,对调用来说,不用转换,直接返回这个数组就可以,但第二种,则需要再用一次unserialize函数反序列化一下。对于第种一说,就多了一步操作。下来我们用数据说话吧:


<?
set_time_limit(50);
$a = array(1,2,3);
$b = array('a'=>1, 'b'=>2, 'c'=>3);
$c = array('a'=>array(1,2,3), 'b'=>array(4,5,6));


$time1 = microtime(true);


$times = 1000000; #10w


for($i=1; $i<=$times; $i++){
  $A = var_export($a, true);
}


$time2 = microtime(true);


for($i=1; $i<=$times; $i++){
  $B = var_export($b, true);
}


$time3 = microtime(true);


for($i=1; $i<=$times; $i++){
  $C = var_export($c, true);
}


$time4 = microtime(true);


for($i=1; $i<=$times; $i++){
  $X = serialize($a);
}


$time5 = microtime(true);


for($i=1; $i<=$times; $i++){
  $Y = serialize($b);
}


$time6 = microtime(true);


for($i=1; $i<=$times; $i++){
  $Z = serialize($c);
}


$time7 = microtime(true);


for($i=1; $i<=$times; $i++){
  $O = unserialize($X);
}


$time8 = microtime(true);


for($i=1; $i<=$times; $i++){
  $P = unserialize($Y);
}


$time9 = microtime(true);


for($i=1; $i<=$times; $i++){
  $Q = unserialize($Z);
}
$time10 = microtime(true);


$var_export_time['a'] = $time2 - $time1;
$var_export_time['b'] = $time3 - $time2;
$var_export_time['c'] = $time4 - $time3;


$serialize_time['a'] = $time5 - $time4;
$serialize_time['b'] = $time6 - $time5;
$serialize_time['c'] = $time7 - $time6;


$unserialize_time['a'] = $time8 - $time7;
$unserialize_time['b'] = $time9 - $time8;
$unserialize_time['c'] = $time10 - $time9;
print_r($var_export_time);
print_r($serialize_time);
print_r($unserialize_time);
?>
output:
Array
(
    [a] => 3.3401498794556
    [b] => 5.1394801139832
    [c] => 8.8483898639679
)
Array
(
    [a] => 1.6063709259033
    [b] => 1.7033960819244
    [c] => 3.4534389972687
)
Array
(
    [a] => 1.6037359237671
    [b] => 1.817803144455
    [c] => 3.7992968559265
)
由上面数据说明:
var_export函数性能比serialize函数性能差一倍,而unserialize时间也需要和serialize差不多的时间,serialize加上unserialize时间,和用var_export时间差不多。
所以在应用的时候,如果只用于读取数据的时候,最好存成数组原型,如果只考虑写入缓存,用serialize是不错的选择,还有就是serialize还可以处理Object类型。所以应用上能广泛一些。
但如果论生成后的缓存文件大小,那还是用var_export去除数组中的换行和空白,比用serialize要小大概10%左右,这个测试我就不放上来了,有兴趣的自己可以尝试一下。原因是因为serialize函数中加入了一些冗余字符串。
来源:http://blog.zol.com.cn/1207/article_1206962.html
分页: 169/339 第一页 上页 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 下页 最后页 [ 显示模式: 摘要 | 列表 ]