Memcached incr и decr команды используются для увеличения или уменьшения числового значения существующего ключа. Если ключ не найден, он возвращает NOT_FOUND . Если ключ не является числовым, то он возвращает CLIENT_ERROR не может увеличивать или уменьшать нечисловое значение . В противном случае ОШИБКА возвращается.
Синтаксис — incr
Основной синтаксис команды Memcached incr показан ниже:
incr key increment_value
пример
В этом примере мы используем посетителей в качестве ключа и устанавливаем в него изначально 10, а затем увеличиваем посетителей на 5.
set visitors 0 900 2 10 STORED get visitors VALUE visitors 0 2 10 END incr visitors 5 15 get visitors VALUE visitors 0 2 15 END
Синтаксис — decr
Основной синтаксис команды Memcached decr показан ниже.
decr key decrement_value
пример
set visitors 0 900 2 10 STORED get visitors VALUE visitors 0 2 10 END decr visitors 5 5 get visitors VALUE visitors 0 1 5 END
Incr / Decr Использование Java-приложения
Чтобы увеличить или уменьшить данные на сервере Memcached, вам необходимо использовать методы Memcached incr или decr соответственно.
пример
import net.spy.memcached.MemcachedClient; public class MemcachedJava { public static void main(String[] args) { // Connecting to Memcached server on localhost MemcachedClient mcc = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211)); System.out.println("Connection to server sucessfully"); System.out.println("set status:"+mcc.set("count", 900, "5").isDone()); // Get value from cache System.out.println("Get from Cache:"+mcc.get("count")); // now increase the stored value System.out.println("Increment value:"+mcc.incr("count", 2)); // now decrease the stored value System.out.println("Decrement value:"+mcc.decr("count", 1)); // now get the final stored value System.out.println("Get from Cache:"+mcc.get("count")); } }
Выход
При компиляции и выполнении программы вы увидите следующий вывод: