Apa memcache di mysql?

Di blog saya sebelumnya, saya berbicara tentang pengenalan singkat tentang memcache dan bagaimana hal itu membantu kita membuat akses database lebih cepat di sebagian besar aplikasi web. Jika Anda belum membaca blognya, Anda dapat mengikuti tautannya. - http. //cloudkul. com/blog/memcached-a-distributed-memory-object-caching-system

Hari ini, mari kita fokus pada beberapa aspek praktis dari memcache. Saya akan mulai dengan instalasi memcache dasar di Ubuntu 14. 04 diikuti dengan pendekatan praktis untuk menyimpan data dari MySQL menggunakan skrip Memcached dan PHP

Ini dia

PRASYARAT

Sebelum kita mulai, Anda harus memiliki mesin ubuntu dengan server LAMP dasar yang dikonfigurasi di dalamnya

INSTALL MEMCACHED PADA UBUNTU 14. 04

Jalankan perintah berikut untuk menginstal memcached dan komponennya. -

1

2

sudo apt-dapatkan perbarui

sudo apt-dapatkan pasang memcached php5-memcached


Mulai ulang layanan Memcached menggunakan perintah berikut. -

1

layanan memcache mulai ulang


PERIKSA INSTALASI

Untuk memverifikasi instalasi, buat file info. php di root dokumen default apache i. dan /var/www/html. -

1

sudo nano /var/www/html/info.php


Untuk memanggil fungsi php yang mengumpulkan dan mencetak informasi tentang server kami ke dalam browser web, tulis berikut ini di file ini. -

1

2

3

4

5

<?php

 

phpinfo();

 

?>


Tekan URL. -

1

http. //server_domain_name_or_IP/info. php


Jika Anda menggulir ke bawah atau mencari tajuk bagian "memcached", Anda akan menemukan sesuatu yang terlihat seperti ini

Apa memcache di mysql?

Ini berarti ekstensi memcache diaktifkan dan ditemukan oleh server web

Periksa juga apakah layanan memcache sedang berjalan dengan mengetikkan perintah berikut. -

1

ps aux . grep memcache


BUAT DATA CONTOH DI MYSQL

Masuk ke mysql. -

1

mysql -u root -p


Buat database, beri nama pilihan Anda dan pilih untuk digunakan lebih lanjut. Di sini, kami menamainya sebagai 'memcached_test'. Jalankan perintah berikut pada prompt MySQL. -

1

2

3

BUAT DATABASE memcached_test;

 

GUNAKAN memcached_test;


Buat user 'test' dengan password 'mytesting123' yang memiliki akses ke database yang kita buat. -

1

BERIKAN SEMUA AKTIF memcached_test. * UNTUK menguji@localhostIDENTIFIED BY mytesting123;


Buat tabel di database dan masukkan beberapa data sampel menggunakan perintah berikut. -

1

2

3

BUAT TABEL sample_data (id int, name varchar(20));

 

INSERT KE DALAM sample_data NILAI (100, Joe Phillips);


Keluar dari MySQL hanya dengan mengetikkan perintah keluar

BUAT Script PHP UNTUK CACHE DATA MYSQL

Buat skrip php bernama 'database_test. php’ di root dokumen kami sebagai. -

1

sudo nano /var/www/html/database_test.php


Sekarang, kita akan membuat instance memcache PHP dan kemudian memberi tahu di mana layanan memcache yang berjalan di server kita berada. Memcached berjalan pada port 11211 secara default. Tuliskan baris berikut di database_test. php. -

1

2

3

4

5

6

7

<?php

 

$mem = baru Memcache();

 

$mem->addServer(127.0.0.1, 11211);

 

?>


Selanjutnya, kita harus mendefinisikan bagaimana PHP dapat terhubung ke database MySQL kita. Kami perlu menentukan kredensial login untuk pengguna yang kami buat dan kemudian kami harus memberi tahu database mana yang akan digunakan. -

1

2

3

4

5

6

7

8

9

10

11

<?php

 

$mem = baru Memcache();

 

$mem->addServer(127.0.0.1, 11211);

 

mysql_connect(localhost, test, mytesting123) or die(mysql_error());

 

mysql_select_db(memcache_test”) or die(mysql_error());

 

?>


Untuk mengambil data yang telah kita masukkan ke dalam database, kita harus membuat kueri dan menyimpannya dalam variabel $query. Juga, buat variabel $querykey untuk menyimpan kunci yang akan digunakan memcache untuk mereferensikan informasi kita

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?php

 

$mem = baru Memcache();

 

$mem->addServer(127.0.0.1, 11211);

 

mysql_connect(localhost, test, mytesting123) or die(mysql_error());

 

mysql_select_db(memcache_test”) or die(mysql_error());

 

$kueri = PILIH name FROM sample_data WHERE id = 100;

 

$querykey = KEY . md5($kueri);

 

?>


Selanjutnya, kita akan membuat variabel $result yang akan menyimpan hasil dari kueri memcache kita. Kami sekarang siap untuk mengimplementasikan logika pengujian aktual yang akan menentukan apa yang akan terjadi ketika hasilnya ditemukan di memcache. Jika hasilnya ditemukan, kami ingin mencetak data yang kami tarik dan memberi tahu pengguna bahwa kami dapat mengambilnya dari memcache secara langsung

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<?php

 

$mem = baru Memcache();

 

$mem->addServer(127.0.0.1, 11211);

 

mysql_connect(localhost, test, mytesting123) or die(mysql_error());

 

mysql_select_db(memcache_test”) or die(mysql_error());

 

$kueri = PILIH name FROM sample_data WHERE id = 100;

 

$querykey = KEY . md5($kueri);

 

$hasil = $mem->get($querykey);

 

jika ($hasil) {

 

cetak <p>Data was: . $hasil[0] . . </p>;

 

cetak <p>Caching success!</p>< . p>Retrieved data from memcached!</p>;

 

}

 

?>


Jika hasilnya tidak ditemukan, kami ingin menggunakan kueri yang kami buat untuk meminta data ke MySQL. Kami akan menyimpan ini ke dalam variabel $result yang kami buat. Setelah kita mendapatkan hasil dari kueri, kita perlu menambahkan hasil tersebut ke memcache sehingga datanya akan ada di sana lain kali

Untuk mencapai ini, kita harus menyediakan variabel kunci $querykey untuk referensi data, data itu sendiri disimpan dalam variabel $result dan waktu untuk menyimpan data dalam hitungan detik

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

<?php

 

$mem = baru Memcache();

 

$mem->addServer(127.0.0.1, 11211);

 

mysql_connect(localhost, test, testing123) or die(mysql_error());

 

mysql_select_db(mem_test”) or die(mysql_error());

 

$kueri = PILIH name FROM sample_data WHERE id = 1;

 

$querykey = KEY . md5($kueri);

 

$hasil = $mem->get($querykey);

 

jika ($hasil) {

 

cetak <p>Data was: . $hasil[0] . . </p>;

 

cetak <p>Caching success!</p>< . p>Retrieved data from memcached!</p>;

 

}

 

else {

 

$hasil = mysql_fetch_array(mysql_query($query)) or die(mysql_error());

 

$mem->setel($querykey, $result, 20);

 

cetak <p>Data was: . $hasil[0] . . </p>;

 

cetak <p>Data not found in memcached.</p>< . p>Data retrieved from MySQL and stored in memcached for next time.</p>;

 

}

 

?>


Ini adalah skrip kami yang sudah selesai. Pertama, ini akan mencoba mendapatkan data dari memcache dan mencetaknya di layar. Jika data tidak dapat ditemukan di memcache, itu akan melakukan kueri dari MySQL secara langsung dan menyimpan hasilnya selama 20 detik

UJI SKRIPT

Tekan URL. -

1

http. //server_domain_name_or_IP/database_test. php


Pertama kali kita mengunjungi halaman, kita akan melihat output. -

Apa memcache di mysql?

Jika kami menyegarkan ini dalam 20 detik, halaman tersebut sekarang akan menampilkan pesan yang berbeda. -

Apa memcache di mysql?

Setelah menunggu beberapa saat, konten cache akan kedaluwarsa dan akan dihapus dari memcache lagi. Jika kita me-refresh pada titik ini, itu akan menampilkan pesan pertama lagi karena server harus kembali ke database untuk mengambil nilai data

Sekarang, Anda mungkin sudah memiliki gambaran tentang cara kerja memcache dan cara menggunakannya agar server web Anda tidak mengenai database berulang kali untuk konten yang sama.

Untuk apa Memcache digunakan?

Apa itu Memcache? . Ini menawarkan solusi sumber terbuka yang matang, dapat diskalakan, untuk memberikan waktu respons sub-milidetik menjadikannya berguna sebagai penyimpanan cache atau sesi .

Kapan sebaiknya Anda tidak menggunakan memcache?

Memcached itu hebat. Tapi tidak untuk setiap situasi. Anda memiliki objek yang lebih besar dari 1MB. Memcached bukan untuk media besar dan streaming gumpalan besar. .
Anda memiliki kunci yang lebih besar dari 250 karakter. .
Penyedia hosting Anda tidak mengizinkan Anda menjalankan memcache. .
Anda menjalankan di lingkungan yang tidak aman. .
Anda menginginkan ketekunan

Apakah Memcache adalah server?

Memcached adalah sistem caching sisi server yang gratis dan bersumber terbuka, serta dapat dipasang di VPS atau server khusus apa pun. Sistem caching dapat secara dramatis meningkatkan kinerja situs web Anda.

Apakah Memcache sebuah kunci

Memcached adalah penyimpanan nilai kunci dalam memori untuk bongkahan kecil data arbitrer (string, objek) dari hasil panggilan database, panggilan API, atau perenderan halaman. Memcached sederhana namun kuat. Desainnya yang sederhana mempromosikan penerapan cepat, kemudahan pengembangan, dan menyelesaikan banyak masalah yang dihadapi cache data besar.