[Yii2] Perbandingan Kecepatan Cache

bardimin pic

Bardimin

15 Oktober 2021
yii2 cache

[Yii2] Perbandingan Kecepatan Cache

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.

Yii2 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 cache dalam beberapa metode.

  • Tanpa menggunakan cache
  • FileCache
  • DbCache
  • Redis

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”.

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.
yii2 cache 01

Hasil ujicoba penggunaan cache pada Yii2

yii2 cache 02

Hasil ujicoba tersebut diatas adalah hasil yang kami peroleh dengan menggunakan 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…..

link nyemin

Artikel Terbaru

Teknik Dasar Perawatan Komputer dan Laptop

Teknik Dasar Perawatan Komputer dan Laptop

Anda mungkin tidak menyadarinya, tetapi komputer dan mobil memiliki kesamaan, keduanya membutuhkan perawatan rutin. Jika mobil Anda perlu mengganti oli secara rutin, komputer Anda secara rutin juga harus memperbarui perangkat lunak, menjaga antivirus tetap up to date,...

ChatGPT versi Desktop untuk Windows, Linux dan Mac

ChatGPT versi Desktop untuk Windows, Linux dan Mac

Apakah Anda tahu apa itu ChatGPT? Apakah Anda tahu cara mendapatkan dan menginstal ChatGPT di perangkat Anda? ChatGPT dengan cepat menjadi salah satu penemuan terpenting dalam dunia pemrosesan bahasa alami. Anda dapat menggunakannya untuk menghasilkan tanggapan...

Voltase Pinout Power Supply ATX 24 pin ke Motherboard

Voltase Pinout Power Supply ATX 24 pin ke Motherboard

Power Supply mengubah daya arus bolak-balik (AC) menjadi arus searah (DC) yang dikendalikan tegangan rendah. Beberapa perangkat Power Supply menyertakan pilihan tegangan input manual, sementara yang lain secara otomatis menyesuaikan. Power Supply mengubah tegangan...

Google Chrome – Buka Bookmark ke Tab Baru Secara Default

Google Chrome – Buka Bookmark ke Tab Baru Secara Default

Bookmark adalah pintasan untuk membuka halaman website yang telah anda simpan untuk anda kunjungi lagi nantinya. Pernahkah Anda mengunjungi halaman situs web yang cukup menarik dan anda ingin untuk mengunjunginya lagi nanti. Mengingat alamat halaman website tentu...