目录

  1. set 命令简介
  2. set 命令的语法
  3. set 命令的参数说明
  4. 使用 Telnet 进行 set 操作
  5. 不同编程语言的 set 示例
  6. 参考资料

1. set 命令简介

set 命令用于在 Memcached 中存储数据,如果 键(key)已存在,它会 覆盖旧值,否则会 创建新键值对


2. set 命令的语法

set <key> <flags> <exptime> <bytes> [noreply]
<data>

  • <key>:要存储的键(Key),最长 250 字符。
  • <flags>:用户自定义的标志(通常设置为 0)。
  • <exptime>:数据的过期时间(秒),0 表示永不过期。
  • <bytes>:存储的数据大小(字节数)。
  • [noreply](可选):如果指定,则服务器不会返回响应。
  • <data>:实际存储的值(必须和 <bytes> 指定的大小匹配)。

3. set 命令的参数说明

参数说明示例
<key>存储数据的键user:123
<flags>自定义标志(通常为 0)0
<exptime>过期时间(秒),0 代表永不过期300(5 分钟)
<bytes>数据的字节大小11(”Hello World” 长度)
<data>具体存储的数据"Hello World"
[noreply]可选,不返回响应noreply

4. 使用 Telnet 进行 set 操作

4.1 连接 Memcached

telnet 127.0.0.1 11211

4.2 执行 set 命令

set user:123 0 300 11
Hello World

4.3 获取数据

get user:123

返回结果:

VALUE user:123 0 11
Hello World
END


5. 不同编程语言的 set 示例

5.1 PHP set 示例

<?php
$memcached = new Memcached();
$memcached->addServer("127.0.0.1", 11211);

// 存储数据(5 分钟过期)
$memcached->set("user:123", "Hello World", 300);

// 获取数据
echo $memcached->get("user:123");
?>


5.2 Python set 示例

from pymemcache.client import base

client = base.Client(('127.0.0.1', 11211))

# 存储数据(5 分钟过期)
client.set('user:123', 'Hello World', expire=300)

# 获取数据
print(client.get('user:123').decode('utf-8'))


5.3 Java set 示例

import net.spy.memcached.MemcachedClient;
import java.io.IOException;
import java.net.InetSocketAddress;

public class MemcachedTest {
    public static void main(String[] args) throws IOException {
        MemcachedClient client = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211));

        // 存储数据(5 分钟过期)
        client.set("user:123", 300, "Hello World");

        // 获取数据
        System.out.println(client.get("user:123"));

        client.shutdown();
    }
}


5.4 Node.js set 示例

const Memcached = require('memcached');
const memcached = new Memcached("127.0.0.1:11211");

// 存储数据(5 分钟过期)
memcached.set("user:123", "Hello World", 300, function(err) {
    if (err) console.error(err);
});

// 获取数据
memcached.get("user:123", function(err, data) {
    if (err) console.error(err);
    console.log(data);
});


6. 参考资料