Учебники

Memcached — инкремент данных декремента

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"));
   }
}

Выход

При компиляции и выполнении программы вы увидите следующий вывод: