Memcached 简明教程
Memcached - Replace Data
Memcached replace 命令用于替换现有键的值。如果键不存在,则会输出 NOT_STORED。
Syntax
Memcached replace 的基本语法如下所示 −
replace key flags exptime bytes [noreply]
value
语法中的关键字的说明如下:
-
key :这是数据在 Memcached 中存储和从中检索的键的名称。
-
flags :它是一个 32 位无符号整数,服务器与用户提供的数据一起存储该整数,并在检索该项时与该数据一同返回。
-
exptime − 是以秒计的过期时间。0 表示无延迟。如果 exptime 超过 30 天,则 Memcached 会将其用作过期的 UNIX 时间戳。
-
bytes − 是需要存储的数据块中的字节数。这是需要存储在 Memcached 中的数据长度。
-
noreply (optional) − 是通知服务器不发送任何回复的参数。
-
value :它是需要存储的数据。在使用上述选项执行命令后,数据需要在新行上传递。
Example
在以下示例中,我们使用“key”作为键,并以 900 秒的过期时间在其内存储 memcached。此后,将使用值“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
Replace Data Using Java Application
若要替换 Memcached 服务器中的数据,您需要使用 Memcached replace 方法。
Example
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"));
}
}