Memcached prepend 命令

Memcached prepend 命令用于向已存在 key(键) 的 value(数据值) 前面追加数据 。

语法

Memcached append 命令的基本语法如下所示

prepend key flags exptime bytes [noreply]
value

语法中的关键字如下所述

  • key:键值 key-value 结构中的 key,用于查找缓存值。
  • flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
  • exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
  • bytes:在缓存中存储的字节数
  • noreply(可选): 该参数告知服务器不需要返回数据
  • value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

命令的输出结果如下所示

STORED
  • STORED 表示成功。
  • NOT_STORED 表示数据未存储在 Memcached 中。
  • CLIENT_ERROR 表示错误。

示例

在以下示例中,我们在不存在的键中添加了一些数据。因此,Memcached 返回NOT_STORED。在此之后,我们设置一个 key——jiyik ,并将数据添加到现有value的前面。

prepend jiyik 0 900 5
redis
NOT_STORED

set jiyik 0 900 9
memcached
STORED

get jiyik
VALUE jiyik 0 14
memcached
END

prepend jiyik 0 900 5
redis
STORED

get jiyik
VALUE jiyik 0 14
redismemcached
END

Java 应用程序添加数据

要在 Memcached 服务器中数据的前面添加数据,你需要使用 Memcached prepend 方法。

import net.spy.memcached.MemcachedClient;
public class MemcachedJava {
   public static void main(String[] args) {
      
      // 连接 Memcached 服务
      MemcachedClient mcc = new MemcachedClient(new
      InetSocketAddress("127.0.0.1", 11211));
      System.out.println("Connection to server successful");
      System.out.println("set status:"+mcc.set("jiyik", 900, "memcached").isDone());
      
      // 从缓存中获取数据
      System.out.println("Get from Cache:"+mcc.get("jiyik"));
      
      // 现在往已经存在的key中的value前面添加数据
      System.out.println("Prepend to cache:"+mcc.prepend("jiyik", "redis").isDone());
      
      // 获取更新后的数据
      System.out.println("Get from Cache:"+mcc.get("jiyik"));
   }
}

在编译和执行程序时,输出以下结果:

Connection to server successful
set status:true
Get from Cache:memcached
Prepend to cache:true
Get from Cache:redismemcached

查看笔记

扫码一下
查看教程更方便