나는 memcached에서 매우 기본적인 조회 율 모니터를 설정하려고하지만, memcached에 저장된 값은 실제로 증가하지 않는 것 같습니다 ... 이것은 버그입니까? 내가 뭔가 빠진거야? spymemcached 클라이언트에서 'incr'사용
public static void checkHitRate(String clientId) throws FatalException, ForbiddenException {
MemcachedClient memcachedClient;
try {
memcachedClient = new MemcachedClient(new InetSocketAddress("localhost", 11211));
Integer hitRate = (Integer) memcachedClient.get(clientId);
if (hitRate == null) {
memcachedClient.set(clientId, 1800, 1);
} else if (hitRate > 500) {
throw new ForbiddenException("Hit rate too high. Try again later");
} else if (hitRate <= 500) {
memcachedClient.incr(clientId, 1);
}
} catch (IOException e) {
throw new FatalException("Could not read hit rate from Memcached.");
}
}
나는 memcached와 그것의 수를 알고
당신은 다른 증분 서명 사용할 수 있습니다
set clientId_1 0 200 1
1
STORED
incr clientId_1 1
2
get clientId_1
VALUE clientId_1 0 1
2
END
텔넷을 사용하여 memcached 서버에 연결하여이 작업을 수동으로 수행 해 보셨습니까? 작동합니까? memcached 명령을 참조하십시오 : http://www.javaworld.com/javaworld/jw-04-2012/120418-memcached-for-java-enterprise-performance.html?page=3 – user1697575
예, 편집 가능합니다 (편집 참조). .. – travega
memcached 서버 (예 : memcached -vv 실행)에서 자세한 정보 표시 모드를 활성화하여 incr 작업 중 서버에서 오류를 봅니다 (Java에서 "CLIENT_ERROR는 숫자가 아닌 값을 증가 또는 감소시킬 수 없다는 불평"). 당신은 예외를 받아야한다 ... – user1697575