Memcached - Dữ liệu Giảm dần

Đã ghi nhớ incrdecrcác lệnh được sử dụng để tăng hoặc giảm giá trị số của một khóa hiện có. Nếu khóa không được tìm thấy, thì nó sẽ trả vềNOT_FOUND. Nếu khóa không phải là số, thì nó trả vềCLIENT_ERROR cannot increment or decrement non-numeric value. Nếu không thì,ERROR Được trả lại.

Cú pháp - incr

Cú pháp cơ bản của Memcached incr lệnh như hình dưới đây -

incr key increment_value

Thí dụ

Trong ví dụ này, chúng tôi sử dụng khách truy cập làm khóa và ban đầu đặt 10 khách truy cập vào đó, sau đó chúng tôi tăng khách truy cập lên 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

Cú pháp - decr

Cú pháp cơ bản của Memcached decr lệnh như hình dưới đây

decr key decrement_value

Thí dụ

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 Sử dụng ứng dụng Java

Để tăng hoặc giảm dữ liệu trong máy chủ Memcached, bạn cần sử dụng Memcached incr or decr các phương pháp tương ứng.

Thí dụ

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

Đầu ra

Khi biên dịch và thực thi chương trình, bạn sẽ thấy kết quả sau:

Connection to server successfully
set status:true
Get from Cache:5
Increment value:7
Decrement value:6
Get from Cache:6