Rumah > Java > javaTutorial > teks badan

Caching tempatan dalam teknologi caching Java

WBOY
Lepaskan: 2023-06-19 23:22:32
asal
589 orang telah melayarinya

Dengan pembangunan berterusan aplikasi Internet, kecekapan dan prestasi capaian data telah menjadi faktor penting. Teknologi caching telah digunakan secara meluas sebagai cara untuk meningkatkan kecekapan capaian data dengan berkesan. Antaranya, caching tempatan, sebagai satu bentuk biasa teknologi caching, juga telah menarik lebih banyak perhatian.

Apakah cache tempatan?

Caching separa, seperti namanya, adalah untuk cache sebahagian daripada data dalam sistem aplikasi ke dalam memori tempatan. Sebaliknya ialah cache global, yang menyimpan cache keseluruhan data sistem dalam ingatan, manakala cache tempatan hanya menyimpan sebahagian daripada data yang perlu diakses dengan kerap.

Kelebihan caching tempatan

Berbanding dengan caching global, caching tempatan mempunyai kelebihan yang jelas berikut:

  1. Mengurangkan overhed rangkaian

Caching tempatan hanya menyimpan data yang perlu diakses dengan kerap, mengurangkan bilangan lawatan sistem ke pelayan cache jauh, dengan itu mengurangkan overhed rangkaian.

  1. Tingkatkan prestasi sistem

Caching setempat boleh bertindak balas dengan cepat kepada permintaan pengguna kerana ia hanya perlu membaca data dari memori tempatan tanpa menunggu respons daripada pelayan jauh, dengan itu meningkatkan prestasi aplikasi.

  1. Tingkatkan kecekapan capaian data

Caching setempat boleh cache medan data yang memerlukan akses kerap, mengurangkan masa capaian data dan meningkatkan kecekapan capaian data.

Pelaksanaan khusus caching tempatan

Dalam aplikasi Java, caching tempatan boleh dilaksanakan dengan mudah dengan menggunakan beberapa rangka kerja atau perpustakaan kelas. Berikut adalah beberapa pelaksanaan yang lebih biasa.

  1. Menggunakan Koleksi Peta

Pengumpulan peta dalam Java ialah struktur data yang digunakan untuk menyimpan pasangan nilai kunci. Kita boleh menggunakan kelas pelaksanaan Peta seperti HashMap atau ConcurrentHashMap untuk melaksanakan caching setempat. Sebagai contoh, coretan kod berikut menunjukkan cara menggunakan ConcurrentHashMap untuk melaksanakan cache setempat yang ringkas:

private static ConcurrentHashMap<String, Object> cache = new ConcurrentHashMap<>();

public static Object get(String key) {
    return cache.get(key);
}

public static void put(String key, Object value) {
    cache.put(key, value);
}
Salin selepas log masuk
  1. Menggunakan perpustakaan Guava

Guava ialah satu set perpustakaan kelas Java dilancarkan oleh Google. Kelas Cache boleh digunakan untuk melaksanakan caching tempatan. Sebagai contoh, coretan kod berikut menunjukkan cara menggunakan kelas Cache untuk melaksanakan cache setempat:

private static Cache<String, Object> cache = CacheBuilder.newBuilder()
        .maximumSize(1000)
        .expireAfterWrite(10, TimeUnit.MINUTES)
        .build();

public static Object get(String key) {
    return cache.getIfPresent(key);
}

public static void put(String key, Object value) {
    cache.put(key, value);
}
Salin selepas log masuk

Dalam kod di atas, CacheBuilder ialah pembina yang digunakan untuk membina kejadian Cache, menetapkan saiz maksimum dan masa tamat tempoh cache. Kaedah getIfPresent digunakan untuk mendapatkan nilai yang sepadan dengan kunci dalam cache dan mengembalikan null jika ia tidak wujud. Kaedah put digunakan untuk menambah pasangan nilai kunci pada cache.

  1. Gunakan cache Redis

Redis ialah pelayan cache berprestasi tinggi yang menyokong berbilang struktur data dan operasi data yang kompleks. Kami boleh menggunakan klien Java Redis untuk melaksanakan caching separa. Sebagai contoh, coretan kod berikut menunjukkan cara untuk melaksanakan cache tempatan yang ringkas melalui Jedis:

private static Jedis jedis = new Jedis("localhost");

public static Object get(String key) {
    String value = jedis.get(key);
    if (value == null) {
        return null;
    }
    return JSON.parseObject(value, Object.class);
}

public static void put(String key, Object value) {
    jedis.set(key, JSON.toJSONString(value));
    jedis.expire(key, 60);
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan Jedis sebagai klien Java Redis dan mendapatkan kunci yang sepadan dalam cache melalui dapatkan nilai kaedah dan gunakan kaedah JSON.parseObject untuk menukar nilai kepada objek Objek. Kaedah put digunakan untuk menambah pasangan nilai kunci pada cache, dan kaedah tamat tempoh digunakan untuk menetapkan masa tamat tempoh kunci kepada 60 saat.

Ringkasan

Caching separa mempunyai kelebihan yang jelas dalam meningkatkan kecekapan capaian data, meningkatkan prestasi sistem dan mengurangkan overhed rangkaian, dan digunakan secara meluas dalam aplikasi praktikal. Melalui beberapa rangka kerja atau perpustakaan kelas di Java, kami boleh melaksanakan caching tempatan dengan mudah untuk meningkatkan prestasi sistem dan pengalaman pengguna.

Atas ialah kandungan terperinci Caching tempatan dalam teknologi caching Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!