memcached +mysql+php 测试例子

最近看了看memcached 缓存 mysql,经过一段时间的研究·把自己测试方法写出来,给像我一样的初学者用~
我的环境是 nginx + php-fpm + apc + mysql

编译安装memcached

tar zxvf memcached-1.4.0.tar.gz
cd memcached-1.4.0
./configure --prefix=/usr
make
make install

启动memcached

memcached -d -m 64 -u root -l 192.168.6.191 -p 11211 -c 64 -P /tmp/memcached.pid

/usr/local/mysql/bin/mysql -uroot -p

创建一个测试数据库 mydb

create database mydb;

创建一个空的数据表 personal_info

CREATE TABLE `personal_info` (
`pi_id` bigint(20) NOT NULL auto_increment,
`pi_name` varchar(50) NOT NULL,
`pi_tel` varchar(15) default NULL,
`pi_qq` varchar(15) default NULL,
`pi_email` varchar(50) default NULL,
PRIMARY KEY (`pi_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

给表插入数据

INSERT INTO `mydb`.`personal_info` (
`pi_id` ,
`pi_name` ,
`pi_tel` ,
`pi_qq` ,
`pi_email`
)
VALUES (
‘1‘, ‘eric‘, ‘13611031222‘, ‘55555555‘, ‘[email protected]‘
);

创建一个 php 文件 mysql-memcache.php

<?php
$memcachehost = ‘192.168.6.191‘;
$memcacheport = 11211;
$memcachelife = 60;
$memcache = new Memcache;
$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
$query="select * from personal_info limit 10";
$key=md5($query);
if(!$memcache->get($key))
{
                $conn=mysql_connect("localhost","root","passwd");
                mysql_select_db(mydb);
                $result=mysql_query($query);
                while ($row=mysql_fetch_assoc($result))
                {
                        $arr[]=$row;
                }
                $f = ‘mysql‘;
                $memcache->add($key,serialize($arr),0,30);        //mysql 查询后,插入 memcached
                $data = $arr ;
}
else{
        $f = ‘memcache‘;
        $data_mem=$memcache->get($key);
        $data = unserialize($data_mem);
}
echo $f;
echo "<br>";
//print_r($data);
foreach($data as $a)
{
                echo "number is <b><font color=#FF0000>$a[pi_id]</font></b>";
                echo "<br>";
                echo "name is <b><font color=#FF0000>$a[pi_name]</font></b>";
                echo "<br>";
                echo "tel is <b><font color=#FF0000>$a[pi_tel]</font></b>";
                echo "<br>";
                echo "qq is <b><font color=#FF0000>$a[pi_qq]</font></b>";
                echo "<br>";
                echo "email is <b><font color=#FF0000>$a[pi_email]</font></b>";
                echo "<br>";

}
?>

时间: 2024-10-06 17:19:26

memcached +mysql+php 测试例子的相关文章

memcached +mysql+php 测试案例

参考:http://deidara.blog.51cto.com/400447/317526/ 一.测试环境: 二.测试步骤: 1.完成基础环境的搭建(nginx+php-fpm+memcache+memcached+mysql) 注意: nginx+php-fpm与mysql环境的分离 php如何扩展模块memcache memcache与memcached的区别 2.启动这个环境,保证能够正常的启动 注意: 启动memcached: memcached -d -m 100 -l 192.16

nginx+PHP+memcached+MySQL+ip-hash做memcached集群

1.nginx与memcached整合 #安装memcached支持的事务库libevent wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz tar zxf libevent-2.0.22-stable.tar.gz  cd libevent-2.0.22-stable ./configure --prefix=/usr/

使用sysbench对mysql压力测试

使用sysbench对mysql压力测试 sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.关于这个项目的详细介绍请看:https://github.com/akopytov/sysbench .它主要包括以下几种方式的测试: cpu性能 磁盘io性能 调度程序性能 内存分配及传输速度 POSIX线程性能 数据库性能(OLTP基准测试) sysbench的数据库OLTP测试支持MySQL.PostgreSQL.Oracle,目前主要用

mysql基础测试

测试原因   为什么需要做性能测试 模拟比当前系统更高的负载,找出性能瓶颈 重现线上异常 测试不同硬件软件配置 规划未来的业务增长 测试分类   性能测试的分类 设备层的测试 业务层的测试 数据库层的测试   设备层的测试 关注哪些指标 服务器,磁盘性能 磁盘坏块率 服务器寿命 业务层测试 针对业务进行测试 数据库层的测试 什么情况下要做Mysql的测试 测试不同的Mysql分之版本 测试不同的mysql版本 测试不同的mysql参数搭配 mysql测试分类 CPU Bound --全内存的测试

(tengine+keepalived)+(apache+tomcat)+memcached+mysql实现高可用、负载均衡、可扩展架构

目录 1.高可用.负载均衡.可扩展架构的需要背景 2.系统架构 3.系统规划及说明 4.系统部署及测试 5.总结 1.高可用.负载均衡.可扩展架构的需要背景 从互联网诞生以来,网站架构随着互联网的快速发展发生着巨大的变化,现今,数据每天都在以爆炸式的增长,大数据.云计算等概念被业内炒得沸沸扬扬,这些前沿技术也在各行各业落地开花.每一种新技术的提出几乎都会或多或少影响着IT的基础架构,面对数据的快速增长.我们急需一套高可用.负载均衡.可扩展的架构来作为支撑. 2.系统架构 此次博文介绍一套高可用.

实际测试例子+源码分析的方式解剖MyBatis缓存的概念

前言: 前方高能! 本文内容有点多,通过实际测试例子+源码分析的方式解剖MyBatis缓存的概念,对这方面有兴趣的小伙伴请继续看下去~ MyBatis缓存介绍首先看一段wiki上关于MyBatis缓存的介绍: MyBatis支持声明式数据缓存(declarative data caching).当一条SQL语句被标记为"可缓存"后,首次执行它时从数据库获取的所有数据会被存储在一段高速缓存中,今后执行这条语句时就会从高速缓存中读取结果,而不是再次命中数据库.MyBatis提供了默认下基于

在window cmd中设置字符集后,mysql的测试

之前测试过,在centos下,所有字符集全部设为utf8,可以同时满足命令行和网页的需求. 在windows下,由于默认字符集为gbk,所以在命令行操作mysql时,需要设置set character_set_client = gbk; 今天发现,其实是要设置set character_set_results = gbk;即可,其它均为utf8或gbk都行. 另外尝试改变windows字符集,cmd下chcp 65001切换到utf8,但这好像是临时的,由于这次安装的wamp,用的自带的终端,c

mysql主从复制测试

mysql主从复制测试: 1. 配置主服务器:在主库上面添加复制账号GRANT REPLICATION SLAVE on *.* to 'mark'@'%' identified by 'mark' WITH GRANT OPTION; 在my.ini配置文件中添加配置:[mysqld]# 服务的唯一标识符server-id=1# 开启二进制日志,默认路径在data/下log-bin=mysql-bin # 二进制文件的格式 binlog_format=row 查看状态: SHOW MASTER

mysql sysbench测试安装及命令

一.安装sysbench 1.软件版本sysbench-0.4.12.7 2.编译安装 1)编译配置 # ./configure --with-mysql-includes=/opt/mysql/include/ --with-mysql-libs=/opt/mysql/lib/ 2)编译 #make .... .... /bin/sh ../libtool --tag=CC   --mode=link gcc -pthread -g -O2      -o sysbench sysbench.