- Memcached 存储命令
- Memcached - 设置数据
- Memcached - 添加数据
- Memcached - 替换数据
- Memcached - 追加数据
- Memcached - 前置数据
- 内存缓存 - CAS
- Memcached 检索命令
- Memcached - 获取数据
- Memcached - 获取 CAS 数据
- Memcached - 删除密钥
- Memcached - 删除数据
- Memcached - 递增/递减
- Memcached 有用资源
- Memcached - 快速指南
- Memcached - 有用的资源
- Memcached - 讨论
Memcached - 替换数据
Memcached替换命令用于替换现有键的值。如果该键不存在,则输出 NOT_STORED。
句法
Memcached替换命令的基本语法如下所示 -
replace key flags exptime bytes [noreply] value
语法中的关键字如下所述 -
key - 这是从 Memcached 存储和检索数据的键的名称。
flags - 它是服务器与用户提供的数据一起存储的 32 位无符号整数,并在检索项目时与数据一起返回。
exptime - 过期时间(以秒为单位)。0 表示无延迟。如果 exptime 超过 30 天,Memcached 将其用作过期的 UNIX 时间戳。
bytes - 数据块中需要存储的字节数。这是需要存储在 Memcached 中的数据的长度。
noreply (可选) - 这是一个参数,通知服务器不要发送任何回复。
value - 这是需要存储的数据。使用上述选项执行命令后,需要在新行中传递数据。
输出
命令的输出如下所示 -
STORED
STORED表示成功。
NOT_STORED表示数据未存储在 Memcached 中。
例子
在下面的示例中,我们使用 'key' 作为键,并将 memcached 存储在其中,过期时间为 900 秒。此后,相同的键将替换为值“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
使用 Java 应用程序替换数据
要替换Memcached服务器中的数据,您需要使用Memcached替换方法。
例子
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")); } }
输出
在编译和执行程序时,您会看到以下输出 -
Connection to server successfully set status:true Get from Cache:memcached Replace cache:true Get from Cache:redis