- 博客(80)
- 资源 (5)
- 收藏
- 关注
原创 mysql存储引擎的一点学习心得总结
首先我们应该了解mysql中的一个重要特性——插件式存储引擎,从名字就可以看出在mysql中,用户可以根据自己的需求任意的选择存储引擎,实际上也是这样,即使在同一个数据库中,不同的表也可以使用不同的存储引擎。Mysql中支持的存储引擎有很多种,这个可以去baidu或者google,本文主要说两种比较常用的存储引擎,myisam和innodb。
2015-08-20 22:58:37 633
原创 关于Redis五种类型对象的学习笔记
我们在使用Redis的时候,直接接触到的是字符串对象(String),列表对象(List),哈希对象(Hash),集合对象(Set),有序集合对象(SortedSet)这五种类型的对象,基本的命令如:String(get set) List(lpush rpush lpop rpop lrange) Hash(hget hset hlen hgetall) Set(sadd smembers smov) SortedSet(Zadd Zrange)等。
2015-07-28 23:28:24 766
原创 Redis命令执行全过程
这个问题说简单也很简单,无非就是客户端发送命令请求,服务器读取命令请求,然后是命令执行器查找命令实现,执行预备操作,调用命令实现函数,执行后续工作。 但是我们想要了解的不能简简单单的就是这些。下面我们详细的来分析一下Redis命令执行的全过程。
2015-07-25 16:16:56 1876
原创 Redis 集群
集群的理解其实很多地方都有可能接触到集群的概念。为什么会有集群呢?简单的讲就是人多好办事,本来是一个人需要很费劲才能完成的事,现在分给十个人做,十个人都可以很轻松的完成,在海量数据,信息爆炸的今天,如果想要处理存储更多的数据,但是却没有强大到爆的大型计算机支持的话,集群是个不错的选择。Redis中也支持集群,Redis中的集群是通过【分片】来进行数据共享的(其实数据库中凡是涉及到集群的,一
2015-07-22 23:12:51 678
原创 关于Redis两种持久化方式的说明
在说Redis持久化之前,需要搞明白什么是数据库状态这个概念,因为持久化的就是将内存中的数据库状态保存到磁盘上。那么什么是数据库状态呢?Redis是一个key-value数据库服务器,一般默认是有16个数据库,可以使用select <index>命令进行切换(0-15),这每个非空的数据库又可以包含任意多个键值对,为了方便起见,我们将数据库服务器中的非空数据库以及它们的键值对通常为【数据库状态】,所以这里持久化,说的不是一个数据库,而是服务器上的所有非空数据库。
2015-07-18 15:59:51 1749
原创 redis中关于过期键的删除策略
我们已经了解到了Redis是一种内存数据库,Redis中数据都是以key-value的形式存储在内存中,由Redis服务器来维护和管理这部分内存,内存是何足珍贵,不需要的数据或者是已经使用过的没用的数据是不会让它长久的存在于内存中的,毕竟我们还是要建设节约型社会的。所以我们可以通过给键设置生存时间或者过期时间来权衡有限的内存和不断增长的数据,设置过期时间的命令为:【expire key 时间长度(秒)】或者是【pexpire key 时间长度(毫秒)】 同时也可以通过【expireat key 时间点(Un
2015-07-17 00:02:11 1418
转载 Nginx负载均衡配置实例详解
[导读] 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。负载均衡先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。负载均衡先来简单了解一下什么是负
2015-07-14 23:13:47 416
原创 Redis_字典
第一,Redis是一种Key-Value数据库,第二,字典是一种保存键值对的抽象数据结构。所以不难猜出字典在Redis中应用一定非常广泛,实际上,Redis数据库的底层实现就是字典,对数据库的增删查改也是构建在对字典的操作上,那么想要深入理解Redis,字典的解密是必不可少的,接下来,就让我们一层一层解开指点的面纱,看看它的真面目。
2015-07-14 01:28:39 1285
原创 求连续子数组最大和问题的两种解法_PHP实现
问题描述求子数组的最大和题目描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。关于连续子数组最大和这个问题,有两种解法,一种是动态规划解法如下: function getMaxSubSum($arr){ $curSum = $arr[0]; $
2015-07-07 22:25:47 1416
原创 树的补充
//判断一个整数序列是否是一个二叉搜索树的后序遍历 //$arr:数组 //$start:起始位置 从0开始计数 //$length:长度 //使用$start和$length可以模拟部分数组 public function isBST($arr,$start,$length){ if(count($arr)<=1) return false; $root = $arr[$l
2015-07-03 00:41:33 432
原创 php语言_数据结构_树_学习笔记
使用PHP语言学习数据结构,对于我自己来说,觉得更加容易理解直接上代码树节点数据结构class TreeNode{ public $data; public $lchild = null; public $rchild = null; public function __construct($data='',$lchild=null,$rchild=null){ $th
2015-07-01 23:01:11 582 1
原创 关于preg_match和preg_match_all
PHP Manual上关于preg_match_all的实例 preg_match_all("/]+>(.*)]+>/U", "example: this is a test", $out );正则表达式是//里面的内容可以,匹配的是以的任意字符一个以上,然后是任意字符,这里用()括起来了,然后是字
2015-06-24 21:44:50 845 1
原创 PHP中WebService应用_SOAP
简单介绍我总结了一下我自己的理解,webservice就是一种web服务,那么他提供什么样的服务呢?举个例子,我想写个程序,每天告诉我天气情况,我难道要发射个气象卫星上天,每天监测,然后处理那海量的数据?noway,I just want know 明天出门要不要带伞,那么怎么办?这里就可以利用WebService来解决。所以,webservice是一组网络上的应用程序组件,想想我们平时怎么访
2015-06-15 21:36:11 700
原创 php面向对象Clone与序列化
对象的复制时有三种方案:1,直接复制 $a = $b这种是浅拷贝,当改变$a的时候$b也会改变,因为他们指向的是同一块堆区2,clone复制 $a = clone $b这种拷贝貌似是深拷贝,当$a发生变化的时候$b不会跟着变化,同时PHP提供了魔术方法__Clone()可以自定义Clone复制,哪些属性不想被复制,复制过程中需要哪些改变,都可以在__clone()方法中自
2015-06-14 21:37:21 574
原创 Redis_链表
先来看一下链表的数据结构typedef struct listNode { struct listNode *prev; struct listNode *next; void *value;} listNode;typedef struct list { listNode *head; //指向链表的头结点 listNode *t
2015-06-13 22:23:33 608 1
原创 关于php面向对象继承方面的几点总结
本文主要总结几点php面向对象继承时的几点://people.class.php class People{ private $name; private $sex; private $birthday; private function __construct($name='',$sex='01',$birthday='1999-01-01'){ echo 'p
2015-06-13 12:31:19 923
原创 mysql学习笔记_函数
字符串函数字符串函数是最常用的一种函数,这点毫无疑问。1.concat(S1,S2,S3...Sn)select concat('aa','bb','cc');+------------------------+| concat('aa','bb','cc') |+------------------------+| aabbcc |+-
2015-06-12 22:20:53 464
原创 CoreSeek学习笔记
首先是关于CoreSeek的工作原理的理解CoreSeek是一个基于SQL的全文检索引擎,那么我们就要理解什么是全文检索引擎,那么要理解全文检索引擎,就要理解全文索引。【是先定义一个词库,然后在文章中查找每个词条(term)出现的频率和位置,把这样的频率和位置信息按照词库的顺序归纳,这样就相当于对文件建立了一个以词库为目录的索引,这样查找某个词的时候就能很快的定位到该词出现的位置】数据库的全文
2015-06-11 19:01:19 607
转载 深入解析php之sphinx
//参数筛选//筛选cat_id=2$cl->SetFilter("cat_id",array(2));//仅在id为1、3、7的子论坛中搜索$cl->SetFilter("forum_id",array(1,3,7));//范围筛选//筛选发布时间为今天,参数为int时间戳$cl->SetFilterRange("starttime",123,124);//筛选价格$cl->
2015-06-11 18:58:38 739 1
转载 PHP客户端禁用cookie如何使用session
第一种方式:在每个超链接上添加一个PHPSESSID=$sid//防止返回初始页产生新的sessionif(isset($_GET["PHPSESSID"])){ session_id($_GET["PHPSESSID"]); }//启动一个sessionsession_start();//获取当前session的session_id()$sid=sessi
2015-06-08 23:59:30 466
转载 stream_context_create()模拟POST/GET
有时候,我们需要在服务器端模拟 POST/GET 等请求,也就是在 PHP 程序中去实现模拟,改怎么做到呢?或者说,在 PHP 程序里,给你一个数组,如何将这个数组 POST/GET 到另外一个地址呢?当然,使用 CURL 很容易办到,那么如果不使用 CURL 库,又该怎么办呢?其实,在 PHP 里已经有相关的函数实现了,这个函数就是接下来要讲的 stream_context_create()。
2015-06-05 23:26:45 762
转载 PHP编程中10个最常见的错误
错误1:foreach循环后留下悬挂指针在foreach循环中,如果我们需要更改迭代的元素或是为了提高效率,运用引用是一个好办法:$arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8)这里有个问题很多人会迷糊
2015-06-03 21:56:03 441
原创 PHP5中的反射
反射是指通过访问已经存在的类和对象来获取其结构与内容的能力。这里简单介绍一个php5中的反射(ps由于php可以直接使用可变变量,可以直接$stu = 'Student' ; new $stu; 没有认识到反射还有这么多的门道,这里整理如下 )ReflectionClass映射类(ReflectionClass)用于获取一个类的所有信息,通过使用映射类,我们可以确定一个类是否是某
2015-05-19 22:10:38 405
转载 MongoDB学习笔记(索引)
一、索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立: > db.test.getIndexes() 删除索引的命令是: > db.test.dro
2015-05-09 12:51:32 377
原创 MongDB学习笔记_修改器及其他
mongodb是一种基于文档的NOSQL数据库,是scheme free的数据库,没有模式,模式自由也就意味着没有固定的表结构,所有存储的数据就更加自由。本文主要介绍MongoDB中的修改器
2015-05-06 22:05:55 444
原创 位运算备忘
基本知识程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理)【摘自百度百科】
2015-05-01 22:03:12 722 4
转载 (转载)散列冲突处理:开放定址法
散列冲突处理:开放定址法 前面我们讲了一些设计散列函数的方法,从前面的除留余数法的例子也可以看出,我们设计得再好的散列函数也不可能完全避免冲突,这就像我们再健康也只能尽量预防疾病,但却无法保证永远不得病一样,既然冲突不能避免,就要考虑如何处理它。 那么当我们在使用散列函数后发现两个关键字key1≠key2,但是却有f(key1) = f(key2),
2015-04-29 23:31:08 623
原创 PHP排序算法补充
堆排序 function HeapAdjust(&$array,$i,$size){ $root = $i ; $lchild = 2*$i+1; $rchild = 2*$i+2; if($root<=$size/2){ if($lchild$array[$root]){ $root=$lchild; } if($rchild$array[$root
2015-04-23 23:11:27 428
转载 (转)mysql 查询json编码过的数据
网站的数据原来是gbk的编码,改版之后为utf8的编码。有一部分的参数数据用json打包过后存到数据库的。中文数据编码过后,就变成了 ["GSM","\u8054\u901a3G"]前台显示的是 “联通3G”,将其打包过后查询,就变成了\u8054\u901a3G,select * from t where f like '%\u8054\u901a3G%',查到
2015-04-22 21:35:27 953
原创 几种常见排序算法_PHP实现
选择排序 function SelectionSort(&$data){ $length = count($data); for($i=0;$i<$length;$i++){ $min = $i; for($j=$i+1;$j<$length;$j++){ if($data[$min]>$data[$j]){ $min = $j; } }
2015-04-22 21:14:45 553 3
原创 PHP获取指定目录下的所有文件,递归到子文件夹
本篇文章介绍开发和面试中经常遇见的问题,递归的遍历一个文件夹,以备日后需要是查看:function getDir($path){ if(is_dir($path)){ foreach (scandir($path) as $afile){ if($afile == '.' || $afile=='..') continue; if(is_dir($path.DI
2015-04-19 18:41:31 795
数据挖掘:概念与技术(中文第三版)
2016-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人