-
使用Limit参数优化MySQL查询的方法
我们在做一些查询的时候总希望能避免数据库引擎做全表扫描,因为全表扫描时间长,而且其中大部分扫描对客户端而言是没有意义的。那么在 MySQL 中有那些方式是可以避免全表扫面的呢?除了我们大家很熟悉的通过使用索引列或分区等方式来进行查询的优化之外还有那些呢? 前些天看了一个老外写的程序,在 MySQL 查询中使用了很多 Limit 关键字,这就让我很感兴趣了,因为在我印象中, Limit 关键字似乎更多被使用 MySQL 数据库的程序员用来做查询分页(当然这也是一种很好的查询优化),那在这里举个例子,假设我们需要一个分页的查询 ,Oracle中一般来说都是用以下 SQL 句子实现: SELECT * FROM ( SELECT a1.*, rownum rownum_ FROM testtable a1 WHERE rownum > 20) WHERE rownum_ <= 1000 这个语句就能查询到 testtable 表中的 20 到 1000 记录,而且还需要嵌套查询,效率不会太高,看看 MySQL 的实现: SELECT * FROM testta...
数据库操作教程 2014-11-30 01:14:13 -
php中使用redis队列操作实例代码
本文为大家讲解的是php中使用redis队列操作实例代码,感兴趣的同学参考下。 例1,入队操作: <?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); while(True){ try{ $value = 'value_'.date('Y-m-d H:i:s'); $redis->LPUSH('key1',$value); sleep(rand()%3); echo $value."n"; }catch(Exception $e){ echo $e->getMessage()."n"; } } ?> ...
PHP 2014-11-30 00:38:39 -
同台服务器使用缓存APC效率高于Memcached的测式代码
之前看到有文章说同台服务器上APC的效率是Memcached的7倍,APC效率比Memcached高是肯定的,至于倒底快多少,我写了个小程序测试了下。 <?php $memcachehost = 'localhost'; $memcacheport = '11211'; function microtime_float(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } function runtime($t1){ return number_format((microtime_float() - $t1)*1000, 4).'ms'; } $starttime = microtime_float(); $cache_time = '30'; echo "init=====".runtime($starttime)....
PHP 2014-11-30 00:38:22 -
Windows下Redis的安装及PHP扩展使用
本文为大家讲解的是在Windows下安装Redis和PHP扩展及简单使用方法,感兴趣的同学参考下。 1、下载redis的windows应用程序,支持32位和64位,根据实际情况下载 下载地址:https://github.com/dmajkic/redis/downloads 2、将相应的程序copy到你所需要的目录中,在这里我使用的64位,放到E:\redis目录 3、启动redis服务端: 打开一个cmd窗口,先切换到redis所放目录(E:\redis),运行 redis-server.exe redis.conf 注意redis.conf为配置文件,主要配置了redis所使用的端口等信息(如果不写则默认redis.conf) 有的下载的redis压缩包里没有redis.conf,我把默认的redis.conf的文件内容放在文章最后...
PHP 2014-11-30 00:15:57 -
linux下Redis安装及使用入门讲解
本文主要为大家的是在linux下Redis的安装方法及使用入门,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。感兴趣的同学参考下...
PHP 2014-11-30 00:12:46 -
Memcached分布式缓存使用入门
本文为大家讲解的是Memcached分布式缓存使用入门,及管理方法,感兴趣的同学参考下。 本节讨论问题: 简单介绍与应用 下载安装注意事项 简单测试 Memcached分布式原理 一、介绍与应用 在常规的WEB开发下,基本都会利用到缓存用以降低对数据库的压力,提高访问速度...
PHP 2014-11-29 23:48:15 -
php使用memcache存储session的方法详解
本文为大家讲解的是php使用memcache存储session的方法详解,感兴趣的同学参考下。 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等...
PHP 2014-11-29 23:47:03 -
Memcached常用命令以及使用说明
本文为大家整理的是Memcached常用命令以及使用说明详解,感兴趣的同学参考下。 存储命令的格式: <command name> <key> <flags> <exptime> <bytes> <data block> 参数说明如下: <command name> set/add/replace <key> 查找关键字 <flags> 客户机使用它存储关于键值对的额外信息 <exptime> 该数据的存活时间,0表示永远 <bytes> 存储字节数 <data block> 存储的数据块(可直接理解为key-value结构中的value) 1、添加 (1)、无论如何都存储的set 这个se...
PHP 2014-11-29 23:39:18 -
同台服务器使用缓存APC效率高于Memcached的测式代码
之前看到有文章说同台服务器上APC的效率是Memcached的7倍,APC效率比Memcached高是肯定的,至于倒底快多少,我写了个小程序测试了下。 <?php $memcachehost = 'localhost'; $memcacheport = '11211'; function microtime_float(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } function runtime($t1){ return number_format((microtime_float() - $t1)*1000, 4).'ms'; } $starttime = microtime_float(); $cache_time = '30'; echo "init=====".runtime($starttime)....
PHP 2014-11-29 23:36:57 -
php的memcached客户端memcached安装使用说明
本文为大家讲解的是php的memcached客户端memcached安装使用说明,感兴趣的同学参考下。 之前在安装memcache时有提到memcached客户端是叫memcache,其实还有一个基于libmemcached的客户端叫memcached,据说性能更好,功能也更多...
PHP 2014-11-29 23:31:48 -
Windows上memcached的安装和使用
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度...
PHP 2014-11-29 23:10:15 -
Memcache 在PHP中的使用技巧
本文为大家讲解的Memcache 在PHP中的使用方法,感兴趣的同学参考下。 add($key, $value, $expiry); $key: 唯一标识, 用于区分写入的数据 $value: 要写入的数据 $expiry: 过期时间, 默认为永远有效 用途: 将数据写入到memcache中 get($key) $key: 通过写入时的$key获取对应的数据 用途: 获取memcache中的数据 replace($key, $value, $expiry) 该方法参数与add方法的参数相同 用途也很明显就是替换数据 delete($key, $time = 0) $key: 唯一标识 $time: 延迟时间 用途: 删除memcache中存储的数据 下面来看看具体用法: add($key, $value, $expiry); $key: 唯一标识, 用于区分写入的数据 $value: 要写入的数据 $expiry: 过期时间, 默认为永远有效 用途: 将数据写入到memcache中 get($key) $key: 通过写...
PHP 2014-11-29 23:03:23