Memcached - Dữ liệu Giảm dần
Đã ghi nhớ incr và decrcá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