Memcache là 1 kỹ thuật rất tốt cho trang web có số lượng truy cập lớn , lưu ý chính là memcache sử dụng kỹ thuật truy xuất dữ liệu trên ram nên có tốc độ nhanh hơn . Nó cải thiện đáng kể tốc độ của trang web khi có lượng truy cập rất lớn trong cùng một thời điểm.Ngoài Memcache ra còn kỹ thuật khác cũng tương tự tên là Memcahed 2 kỹ thuật này tương tự nhau , nhưng trong nội dung bài viết mình hướng dẫn kỹ thuật Memcache .
Thay vì cùng 1 lúc có nhiều requesst tới trang web của bạn và cũng bằng đấy tác vụ thực hiện truy vấn đưa ra kết quả phản hồi bằng việc thực hiện trên ổ cứng . Thì kỹ thuật memcache sẽ giúp bạn hạn chế số truy cập ổ cứng và lưu lại (có thể hiểu là lưu lại trên ram ) và truy xuất ngay tại ram nên do đó cải thiện đáng kể tốc độ truy vấn.
Hiểu đơn giản nhất memcahe :
- Lưu trữ giá trị V với khóa K (sau 1 khoảng thời gian trên ram)
- Truy xuất giá trị V với khóa K (truy xuất giá trị đó nếu nó vẫn còn)
Ở đây mình hướng dẫn cài đặt tích hợp trên win và tích hợp vào xampp , còn trên server các bạn có thể đợi bài khác viết.
Đầu tiên bạn phải tải file php_memcache.dll tùy vào hệ điều hành 32 bit hoặc 64 bit vào theo link sau chọn và tải về: https://pecl.php.net/package/memcache/3.0.8/windows
Bạn kiểm tra phiên bản php bằng phpinfo(); và xem là bản Non Thread Safe hoặc Thread Safe trong phpinfo() như hình dưới :
Sau đó chọn php_memcache.dll phù hợp để tải về:
Giải nén và copy cho vào thư mục : xamppphpext
sau đó mở file php.ini để khai báo extention .Nếu đã có hoặc chưa thì cập nhật dòng code sau vào vị tri cuối file php.ini
1
2
3
4
5
|
Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211
|
Sau đó cài đặt memcache.exe tải về theo đường link sau :
http://code.jellycan.com/files/memcached-1.2.5-win32-bin.zip
http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip
Cài đặt bằng cách mở cmd nhớ là bằng quyền adminnistration và trỏ tới thư mục đó , ở đây mình giải nén và để trong thư mục C:memcached
Thực hiện lệnh sau :
memcached.exe –d install
memcached.exe –d start, or net start “memcached Server”
Cuối cùng khởi động lại xammp và thực hiện file php với nội dung sau :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?php
$memcache = new Memcache;
//2 tham số, tên host của bạn : localhost , port : 11211 được cấu hình trong php.ini như bước ở trên
$memcache->connect(‘localhost’, 11211) or die (“Could not connect”);
$version = $memcache->getVersion();
echo “Server’s version: “.$version.“<br/>n”;
$tmp_object = new stdClass;
$tmp_object->str_attr = ‘test’;
$tmp_object->int_attr = 123;
$memcache->set(‘key’, $tmp_object, false, 10) or
die (“Không thể lưu trữ data vào memcache”);// lưu trữ giá trị sau 10 s trên ram
echo “Dữ liệu của bạn đã được lưu trữ vào memcache thành công và sẽ hết hạn trong vòng 10 giây
<br/>n”;
$get_result = $memcache->get(‘key’);
echo “Dữ liệu trong cache của bạn là:<br/>n”;
var_dump($get_result);
?>
|
kết quả hiển thị ra sau khi chạy :
Server’s version: 1.2.5
Store data in the cache (data will expire in 10 seconds)
Data from the cache:
object(stdClass)#3 (2) { [“str_attr”]=> string(4) “test” [“int_attr”]=> int(123) }
Chúc bạn thực hiện thành công nếu mọi thắc mắc có thể comment facebook bên dưới !
Nguyễn Anh Dũng (strongmindinstrongbody)-skype:nguyenanhdung90
memcache,