Memcached - Thay thế dữ liệu
Đã ghi nhớ replacelệnh được sử dụng để thay thế giá trị của một khóa hiện có. Nếu khóa không tồn tại, thì nó sẽ đưa ra đầu ra NOT_STORED.
Cú pháp
Cú pháp cơ bản của Memcached replace lệnh như hình dưới đây -
replace key flags exptime bytes [noreply]
value
Các từ khóa trong cú pháp như được mô tả bên dưới -
key - Đây là tên của khóa mà dữ liệu được lưu trữ và truy xuất từ Memcached.
flags - Là số nguyên 32-bit không dấu mà máy chủ lưu trữ với dữ liệu do người dùng cung cấp, và trả về cùng với dữ liệu khi mục được truy xuất.
exptime- Đó là thời gian hết hạn tính bằng giây. 0 có nghĩa là không có độ trễ. Nếu thời gian hết hạn là hơn 30 ngày, Memcached sẽ sử dụng nó làm dấu thời gian UNIX để hết hạn.
bytes- Là số byte trong khối dữ liệu cần được lưu trữ. Đây là độ dài của dữ liệu cần được lưu trữ trong Memcached.
noreply (optional) - Là tham số thông báo cho máy chủ không gửi bất kỳ phản hồi nào.
value- Là dữ liệu cần được lưu trữ. Dữ liệu cần được chuyển sang dòng mới sau khi thực hiện lệnh với các tùy chọn trên.
Đầu ra
Đầu ra của lệnh như hình dưới đây:
STORED
STORED biểu thị sự thành công.
NOT_STORED cho biết dữ liệu không được lưu trữ trong Memcached.
Thí dụ
Trong ví dụ sau, chúng tôi sử dụng 'key' làm khóa và lưu trữ memcached trong đó với thời gian hết hạn là 900 giây. Sau đó, khóa tương tự được thay thế bằng giá trị 'redis'.
add key 0 900 9
memcached
STORED
get key
VALUE key 0 9
memcached
END
replace key 0 900 5
redis
get key
VALUE key 0 5
redis
END
Thay thế dữ liệu bằng ứng dụng Java
Để thay thế dữ liệu trong máy chủ Memcached, bạn cần sử dụng Memcached replace phương pháp.
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("tutorialspoint", 900, "memcached").done);
// Get value from cache
System.out.println("Get from Cache:"+mcc.get("tutorialspoint"));
// now replace the existing data
System.out.println("Replace cache:"+mcc.replace("tutorialspoint", 900, "redis").done);
// get the updated data
System.out.println("Get from Cache:"+mcc.get("tutorialspoint"));
}
}
Đầ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:memcached
Replace cache:true
Get from Cache:redis