[Yii2] Perbandingan Kecepatan Cache

15 Oktober 2021

Home » Blog » Teknologi » [Yii2] Perbandingan Kecepatan Cache

Sebagian besar pengembang website cenderung mengabaikan caching tanpa menyadari bahwa hal itu dapat merugikan mereka. Penundaan satu detik dalam waktu akses dapat berarti Anda kehilangan pelanggan atau pengguna karena pesaing.

mendukung caching dalam berbagai metode. Mendukung caching fragmen, caching data, caching halaman dan konten dinamis. Komponen penyimpanan dapat ditukar tanpa harus mengubah kode yang menggunakan .

Dalam artikel ini, kita akan membuat perbandingan kecepatan dalam beberapa metode.

  • Tanpa menggunakan cache
  • FileCache
  • DbCache
  • Redis
TOP TUTORIALS:  Cara mudah Screenshot di Windows

Langkah-langkah membuat perbandingan kecepatan cache pada yii2

  1. Menyiapkan tabel dengan menggunakan MySQL
CREATE TABLE `test_cache` (
  `id` INTEGER(11) NOT NULL AUTO_INCREMENT,
  `data` VARCHAR(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
  PRIMARY KEY USING BTREE (`id`)
) ENGINE=InnoDB
AUTO_INCREMENT=1 ROW_FORMAT=DYNAMIC CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';

Buat tabel sederhana dengan kolom id dan data. Setelah itu buat record untuk tabel tersebut.

Dalam ujicoba kali ini, kita menambahkan kolom data dengan random karakter dengan 20 buah karakter. Jumlah baris yang kita buat sebanyak 10.000 baris.

  1. Buat model dari tabel tersebut, misal dengan nama “Testcache”.
  2. Buat Controller untuk menampilkan respon, misal dengan nama “TestcacheController”

“TestcacheController” tanpa cache

    public function actionIndex()
    {
        $data=TestCache::find()->all();
        Yii::$app->response->format = yiiwebResponse::FORMAT_JSON;
        return $data;
    }

“TestcacheController” denagan cache

    public function actionIndex(){
        $data = Yii::$app->cache->getOrSet('testcachedata', function () {
            return TestCache::find()->all();
        });
        Yii::$app->response->format = yiiwebResponse::FORMAT_JSON;
        return $data;
    }
  1. Konfigurasi cache Yii2 pada “config/main.php”.
TOP TUTORIALS:  Cara merubah Legacy BIOS ke UEFI pada Windows

Konfigurasi “FileCache”

        'cache' => [
            'class' => 'yiicachingFileCache',
        ],

Konfigurasi “DbCache”

        'cache' => [
            'class' => 'yiicachingDbCache',
        ],

Untuk konfigurasi “DbCache”, sebelumnya buat tabel dengan nama “cache”

CREATE TABLE `cache` (
  `id` CHAR(128) COLLATE utf8mb4_general_ci NOT NULL,
  `expire` INTEGER(11) DEFAULT NULL,
  `data` BLOB,
  PRIMARY KEY USING BTREE (`id`)
) ENGINE=InnoDB
ROW_FORMAT=DYNAMIC CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';

Konfigurasi Redis

        'cache' => [
            'class' => 'yiiredisCache',
        ],
        'session' => [
            'class' => 'yiiredisSession',
        ],
        'redis'     => [
            'class' => 'yiiredisConnection',
            'hostname' => '127.0.0.1',
            'port' => 6379,
            'database' => 0,

        ], 

Sebelumnya, install redis dengan

php composer.phar require --prefer-dist yiisoft/yii2-redis:"~2.0.0"
  1. Pengujian respon. Untuk menguji kecepatan respon, kita bisa menggunakan Postman untuk melihat kecepatan respon dan menampilkan hasil dari respon.
TOP TUTORIALS:  Cara Membuat Virtual CD/DVD di Windows dengan TotalMounter
yii2 cache 01

Hasil ujicoba penggunaan cache pada Yii2

yii2 cache 02

Hasil ujicoba tersebut diatas adalah hasil yang kami peroleh dengan menggunakan komputer yang sama. Kecepatan respon yang diperoleh sangat dipengaruhi oleh berbagai macam kondisi, salah satunya adalah perangkat keras yang digunakan dan juga operating system.

Dari hasil tersebut, setidaknya kita mendapatkan gambaran kecepatan respon dari beberapa metode penggunaan cache.

Semoga bermanfaat…..

0 Komentar