Sisi server terutama menginstal memcache di sisi server
Memcache menggunakan pustaka libevent untuk pemrosesan soket, jadi Anda juga perlu menginstal libevent.
Alamat unduhan: http://www.monkey.org/~provos/libevent
Alamat unduhan Memcache: http://danga.com/memcached/download.bml
Metode detailnya adalah sebagai berikut:
1. Instal libevent terlebih dahulu:
# tar zxvf libevent-1.4.6-stable.tar.gz
# ./konfigurasi --prefix=/usr
# membuat
# Buat instalasi
2. Uji apakah libevent berhasil diinstal:
# ls -al /usr/lib | grep libevent
[root@localhost lembut]# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 Dec 30 11:00 libevent-1.4.so.2 -> libevent-1.4.so.2.1.1
-rwxr-xr-x 1 root root 280179 30 des 11:00 libevent-1.4.so.2.1.1
-rw-r--r-- 1 root root 366946 30 Des 11:00 libevent.a
lrwxrwxrwx 1 root root 26 Dec 30 11:00 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.1
-rwxr-xr-x 1 root root 107523 30 Des 11:00 libevent_core-1.4.so.2.1.1
-rw-r--r-- 1 akar akar 146944 30 Des 11:00 libevent_core.a
-rwxr-xr-x 1 root root 860 Dec 30 11:00 libevent_core.la
lrwxrwxrwx 1 root root 26 Dec 30 11:00 libevent_core.so -> libevent_core-1.4.so.2.1.1
lrwxrwxrwx 1 root root 27 Dec 30 11:00 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 root root 219483 30 Des 11:00 libevent_extra-1.4.so.2.1.1
-rw-r--r-- 1 akar akar 281326 30 Des 11:00 libevent_extra.a
-rwxr-xr-x 1 root root 867 Dec 30 11:00 libevent_extra.la
lrwxrwxrwx 1 root root 27 Dec 30 11:00 libevent_extra.so -> libevent_extra-1.4.so.2.1.1
-rwxr-xr-x 1 root root 825 Dec 30 11:00 libevent.la
lrwxrwxrwx 1 root root 21 Dec 30 11:00 libevent.so -> libevent-1.4.so.2.1.1
3. Instal memcached, dan tentukan lokasi instalasi libevent dalam instalasi:
# tar zxvf memcached-1.2.6.tar.gz
# ./configure --with-libevent=/usr
# membuat
# Buat instalasi
Setelah instalasi selesai, memcached akan ditempatkan di /usr/local/bin/memcached
4. Uji apakah memcached berhasil diinstal:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 121261 30 des 11:02 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 130191 30 Des 11:02 /usr/local/bin/memcached-debug
5. Instal ekstensi PHP untuk Memcache
Di http://pecl.php.net/package/memcache, pilih versi memcache yang ingin Anda unduh.
# tar vxzf memcache-2.2.4
# CD memcache-2.2.4
# /usr/local/php/bin/phpize
# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
# membuat
# Buat instalasi
6. Setelah instalasi di atas, akan ada prompt seperti ini:
Menginstal ekstensi bersama: "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/"
7. Ubah extension_dir = "./" di php.ini menjadi
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
8. Tambahkan baris untuk memuat ekstensi memcache:
ekstensi=memcache.jadi
9. Mulai dan hentikan Memcache di sisi server:
# /usr/local/bin/memcached -d -m 200 -u root -l 192.168.1.91 -p 12000 -c 1000 -P /tmp/memcached.pid
memcached -m 256 -u www -p 11211 -d
Penjelasan yang relevan adalah sebagai berikut:
-d adalah memulai daemon,
-m adalah jumlah memori yang dialokasikan ke Memcache untuk digunakan, dalam MB, di sini 200MB
-u adalah pengguna yang menjalankan Memcache, saya root di sini
-l adalah alamat IP server yang mendengarkan, jika ada beberapa alamat, saya menentukan alamat IP server di sini 192.168.1.91
-p adalah port di mana Memcache diatur untuk mendengarkan, saya mengatur 12000 di sini, sebaiknya port di atas 1024
Opsi -c adalah jumlah maksimum koneksi bersamaan yang berjalan, defaultnya adalah 1024, saya mengaturnya ke 256 di sini
-P adalah file pid yang diatur untuk menyimpan Memcache, dan saya menyimpannya di sini di /tmp/memcached.pid
Hentikan proses Memcache:
# bunuh 'cat /tmp/memcached.pid'
Beberapa daemon juga dapat dimulai, tetapi port tidak dapat diulang
10. Mulai ulang Apache
layanan httpd restart
11. Tes lingkungan Memcache:
Jalankan file php berikut, jika ada output Ini adalah tes!, artinya lingkungan berhasil dibangun.
<?php
$mem = Memcache baru;
$mem->connect("127.0.0.1", 11211);
$mem->set('kunci', 'Ini adalah tes!', 0, 60);
$val = $mem->get('kunci');
gema $val;
?>
Kode uji PHP:
<?php
ini_set("memcache.hash_function","crc32");
$memcache = Memcache baru;
$memcache->addServer('192.168.1.91', 12000);
$memcache->flush();
untuk($i=0; $i<120000; $i++){
$memcache->set($i,
"Hai memcache, saya ingin menggunakan memcache, Anda bagus", 0, 1000);
}
?>
Kode pengujian Perl:
#!/usr/bin/perl
gunakan Cache::Memcached::Fast;
my $memd = Cache baru::Memcached::Fast({
server => [ { alamat => '192.168.1.91:12000', berat => 2.5 } ],
});
$memd->flush_all;
untuk($i=0; $i<120000; $i++){
$memd->set($i, "hai memcache, saya ingin menggunakan memcache, Anda bagus");
}
$memd = undef;
Perl di sini menggunakan modul Cache::Memcached::Fast, bukan Cache::Memcached, karena modul Cache::Memcached::Fast ditulis dalam C, jadi modul perl yang diuji oleh banyak orang tidak seefisien php, dan inilah alasannya.
|