Home > Article > Backend Development > Detailed explanation of sample code for loading memcache module in PHP (picture)
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
. ~/.bash_profile or make a soft link
[root@server11 bin]# ln -s /usr/local/lnmp/php/bin /usr/local/bin/
Compile
tar zxf memcache-2.2.5.tgz cd memcache-2.2.5 phpize 准备预编译环境
./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
Check
[root@server11 etc]# php -m |grep memcache##rpm -qa |grep php Make sure there is no rpm package interference EmptyBackground installation configuration
yum install memcached -y /etc/init.d/memcached startListening port netstat -antlpue
udp 0 0 0.0.0.0:11211 0.0.0.0:* 498 10940 3706/memcachedAccess memcached database
yum install telnet -y telnet localhost 11211
set name 0 0 6 westos STORED get name VALUE name 0 6 westos END delete name DELETED get name ENDWrite monitoring pagecd 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 yWrite a test pagevim test.php
<?php $memcache = new Memcache; $memcache->connect('127.0.0.1', 11211) or die ("Could not connect"); $version = $memcache->getVersion(); echo "Server's version: ".$version."\n"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $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('key'); echo "Data from the cache:\n"; var_dump($get_result); ?>Start nginxnginxCheckAccess in the browser: 1. 172.25.88.11/memcache .php Monitor cache hit rate2. 172.25.88.11/test.phpContinuously refresh, you can see on the monitoring page that the cache hit rate (Hits) is getting bigger and bigger
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!