Java 程式碼最佳化
Pavlos Kosmetatos
Lead Engineer @Wealthyhood
快取就像把常用食材放在流理台而不是櫥櫃上——取用更快,但台面空間有限
常見會快取:
// In-memory cache using HashMap
public class SimpleCache<K, V> {
private final Map<K, V> cache = new HashMap<>();
public V get(K key) {
return cache.get(key);
}
public void put(K key, V value) {
cache.put(key, value);
}
}
Redis 是什麼:

import redis.clients.jedis.Jedis;
// Using Jedis client
Jedis jedis = new Jedis("localhost");
jedis.set("key", "value");
String value = jedis.get("key");
其他功能:
public class RedisTimedCache {
private final Jedis jedis;
public RedisTimedCache(String host, int port) {
this.jedis = new Jedis(host, port);
}
public String get(String key) {
return jedis.get(key);
}
public void put(String key, String value, int timeToLiveSeconds) {
// Sets both the value and expiration time in seconds
jedis.setex(key, timeToLiveSeconds, value);
}
}
Java 程式碼最佳化