📜  Memcached-前置数据

📅  最后修改于: 2020-11-27 05:43:29             🧑  作者: Mango


Memcached prepend命令用于在现有密钥中添加一些数据。数据存储在密钥的现有数据之前。

句法

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

prepend key flags exptime bytes [noreply]
value

语法中的关键字如下所述-

  • key-它是密钥的名称,通过它在Memcached中存储和检索数据。

  • 标志-它是服务器与用户提供的数据一起存储的32位无符号整数,在检索到该项目时将与数据一起返回。

  • exptime-它是到期时间,以秒为单位。 0表示没有延迟。如果exptime超过30天,则Memcached会将其用作UNIX时间戳记进行过期。

  • 字节-这是数据块中需要存储的字节数。这是需要存储在Memcached中的数据的长度。

  • noreply(可选) -它是一个参数,通知服务器不发送任何答复。

  • -这是需要存储的数据。使用上述选项执行命令后,需要在新行中传递数据。

输出

命令的输出如下所示-

STORED
  • 存储表示成功。

  • NOT_STORED表示该密钥在Memcached服务器中不存在。

  • CLIENT_ERROR表示错误。

在以下示例中,我们在不存在的键中添加了一些数据。因此,Memcached返回NOT_STORED 。此后,我们设置一个密钥并将数据放在其中。

prepend tutorials 0 900 5
redis
NOT_STORED
set tutorials 0 900 9
memcached
STORED
get tutorials
VALUE tutorials 0 14
memcached
END
prepend tutorials 0 900 5
redis
STORED
get tutorials
VALUE tutorials 0 14
redismemcached
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 successful");
      System.out.println("set status:"+mcc.set("tutorialspoint", 900, "memcached").isDone());
      
      // Get value from cache
      System.out.println("Get from Cache:"+mcc.get("tutorialspoint"));
      
      // now append some data into existing key
      System.out.println("Prepend to cache:"+mcc.prepend("tutorialspoint", "redis").isDone());
      
      // get the updated key
      System.out.println("Get from Cache:"+mcc.get("tutorialspoint"));
   }
}

输出

在编译和执行程序时,您将看到以下输出-

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