Memcached 添加数据

  • Telnet添加数据

    Memcached add命令用于将值设置为新键。如果键已经存在,则给出输出NOT_STORED。
    Memcached add 命令的基本语法如下所示-
    
    add key flags exptime bytes [noreply]
    value
    
    语法中的关键字如下所述-
    • key-它是键的名称,通过它存储和从Memcached检索数据。
    • flags-它是服务器与用户提供的数据一起存储的32位无符号整数,并在检索到项目时随数据一起返回。
    • exptime-它是到期时间,以秒为单位。0表示没有延迟。如果exptime超过30天,则Memcached会将其用作UNIX时间戳记进行过期。
    • bytes-这是数据块中需要存储的字节数。这是需要存储在Memcached中的数据的长度。
    • noreply(可选) -这是一个参数,它通知服务器不要发送任何答复。
    • value-它是需要存储的数据。使用上述选项执行命令后,需要在新行中传递数据。
    输出
    命令的输出如下所示-
    • STORED - 表示存储成功。
    • NOT_STORED - 表示数据未存储在Memcached中。
    在以下示例中,我们使用 key 作为键,并在其中添加值为Memcached,有效时间为900秒。
    
    add key 0 900 9
    memcached
    STORED
    get key
    VALUE key 0 9
    Memcached
    END
    
    下面我们再想在 key 键上添加数据就不会保存了
    
    add key 0 900 5
    redis
    NOT_STORED
    
  • 使用Java应用程序添加数据

    要在Memcached服务器中添加数据,您需要使用Memcached add方法。
    
    import java.io.IOException;
    import java.net.InetSocketAddress;
    import net.spy.memcached.MemcachedClient;
    
    public class MemcachedJava {
       public static void main(String[] args) {
    
          // Connecting to Memcached server on localhost
          MemcachedClient mcc = null;
          try {
             mcc = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211));
          } catch (IOException e) {
             // TODO 自动生成的 catch 块
             e.printStackTrace();
          }
          System.out.println("Connection to server sucessfully");
    
          // 设置数据库 第一个参数key 第二个参数过期时间,第三个参数value
          System.out.println("set status:" + mcc.add("key", 900, "redis").getStatus());
          
          // 设置数据库 第一个参数key 第二个参数过期时间,第三个参数value (再次在该键添加数据)
          System.out.println("set status:" + mcc.add("key", 900, "redis").getStatus());
    
          // 用key从memcached服务器获取值
          System.out.println("Get from Cache:" + mcc.get("key"));
       }
    }
    
    输出
     
    Connection to server sucessfully 
    set status:{OperationStatus success=true:  STORED}
    set status:{OperationStatus success=false:  NOT_STORED}
    Get from Cache:redis