Detailed explanation of sample code for loading memcache module in PHP (picture)

黄舟
Release: 2023-03-07 06:34:02
Original
1324 people have browsed it

memcache

Definition

memcache is a distributed high-speed caching system
is currently used by many websites to improve the access speed of the website, especially for Some large

workflows

1. First check whether the data accessed by the client is in memcache, and if so, return directly
2. If it is not in memcache, check the database, and at the same time Cache a copy to memcache to greatly improve reading speed.

Applications and features

1. Used for web page or database cache
2. Can be used for session sharing
3. Applicable Due to small but large data changes (such as Weibo fans +1)
4. Stored in memory, data cannot be persisted

Cache optimization rules: 28 principles

20% : Hot data, data that is frequently accessed. Used as cache, stored in memory
80%: basically unchanged data, stored in solid state drive

php loads memcache module

Detects the current php environment

vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin/:/usr/local/lnmp/php/bin
Copy after login

. ~/.bash_profile or make a soft link

[root@server11 bin]# ln -s /usr/local/lnmp/php/bin /usr/local/bin/
Copy after login

Compile

tar zxf memcache-2.2.5.tgz cd memcache-2.2.5
phpize    准备预编译环境
Copy after login

Detailed explanation of sample code for loading memcache module in PHP (picture)

./configure make && make install

Guarantee The execution path of php is the path of the source code package

 [root@server11 memcache-2.2.5]# which php /usr/local/lnmp/php/bin/php
cd /usr/local/lnmp/php/etc/
vim php.ini    记住是.
863         extension=memcache.so
/etc/init.d/php-fpm start
Copy after login

Check

[root@server11 etc]# php -m |grep memcache
Copy after login

Detailed explanation of sample code for loading memcache module in PHP (picture)

##rpm -qa |grep php Make sure there is no rpm package interference

Empty

Background installation configuration

yum install memcached -y
/etc/init.d/memcached start
Copy after login

Listening port netstat -antlpue

udp        
0      
0 0.0.0.0:11211               
0.0.0.0:*                               
498        
10940      
3706/memcached
Copy after login

Access memcached database

yum install telnet -y 
telnet localhost 11211
Copy after login
set name 0 0 6
westos
STORED
get name
VALUE name 0 6
westos
END
delete name
DELETED
get name 
END
Copy after login

Write monitoring page

cd memcache -2.2.5

cp memcache.php /usr/local/nginx/html/

vim memcache.php

23 define('ADMIN_PASSWORD','westos');      // Admin Password
28 $MEMCACHE_SERVERS[] = ''; // add more as an array
29 $MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an arra    y
Copy after login

Write a test page

vim test.php

<?php
$memcache = new Memcache;
$memcache->connect(&#39;127.0.0.1&#39;, 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server&#39;s version: ".$version."\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = &#39;test&#39;;
$tmp_object->int_attr = 123;
$memcache->set(&#39;key&#39;, $tmp_object, false, 10) or die ("Failed to save data at the
server");
echo "Store data in the cache (data will expire in 10 seconds)\n";
$get_result = $memcache->get(&#39;key&#39;);
echo "Data from the cache:\n";
var_dump($get_result);
?>
Copy after login
Start nginx

nginx

Check

Access in the browser:

1. 172.25.88.11/memcache .php Monitor cache hit rate

2. 172.25.88.11/test.php

Continuously refresh, you can see on the monitoring page that the cache hit rate (Hits) is getting bigger and bigger

Detailed explanation of sample code for loading memcache module in PHP (picture)

Detailed explanation of sample code for loading memcache module in PHP (picture)

The above is the detailed content of Detailed explanation of sample code for loading memcache module in PHP (picture). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!