Grails + Memcached(ElastiCache) - Erro quando ocorre uma grande quantidade de requisições para um cache com tamanho grande
22/12/2014 10:50
import net.spy.memcached.*
import grails.converters.JSON
import org.springframework.beans.factory.InitializingBean
class MemCacheService implements InitializingBean {
String ELASTIC_CACHE_CLUSTER_IP = "teste.ptsfty.cfg.use1.cache.amazonaws.com";
def ELASTIC_CACHE_CLUSTER_PORT = 11211
def MemcachedClient client
def expireTime = 21600
def void afterPropertiesSet() {
client = new MemcachedClient(new InetSocketAddress(ELASTIC_CACHE_CLUSTER_IP, ELASTIC_CACHE_CLUSTER_PORT));
}
def getDataOnCache(key) {
try {
def result = client.get(key)
if (result) return JSON.parse(result)
else return null
} catch(Exception e) {
println e.getMessage()
return null
}
}
def saveOnCache(key, value) {
try {
def result = client.add(key, expireTime, value);
return result
} catch(Exception e) {
println e.getMessage()
return null
}
}
def removeOnCache(key) {
def result = client.delete(key);
return result
}
}
Para se registrar, clique aqui.