目录
1. get
命令简介
get
命令用于从 Memcached 中获取一个或多个键的值。该命令会返回存储在缓存中的数据,如果指定的键不存在,则返回 NOT_FOUND
。
- 单个键获取:当你只需要获取一个键的值时,可以使用简单的
get
命令。 - 多个键获取:通过提供多个键,
get
命令可以一次性返回多个键的值。
2. get
命令的语法
get <key1> <key2> ... <keyN>
<key1> <key2> ... <keyN>
:你要获取的一个或多个键名。
3. get
命令的参数说明
参数 | 说明 | 示例 |
---|---|---|
<key> | 要获取的键(可以是一个或多个) | user , counter |
4. 使用 Telnet 进行 get
操作
4.1 连接 Memcached
telnet 127.0.0.1 11211
4.2 存储一些键值(使用 set
)
set user 0 0 5
Alice
set counter 0 0 2
10
4.3 获取一个键的值
get user
返回结果:
VALUE user 0 5
Alice
END
4.4 获取多个键的值
get user counter
返回结果:
VALUE user 0 5
Alice
VALUE counter 0 2
10
END
4.5 获取一个不存在的键
get non_existent_key
返回结果:
END
表示该键不存在。
5. 不同编程语言的 get
示例
5.1 PHP get
示例
<?php
$memcached = new Memcached();
$memcached->addServer("127.0.0.1", 11211);
// 存储数据
$memcached->set("user", "Alice");
$memcached->set("counter", 10);
// 获取单个键的值
$user = $memcached->get("user");
echo "User: " . $user . "\n"; // 输出: Alice
// 获取多个键的值
$values = $memcached->getMulti(["user", "counter"]);
echo "User: " . $values["user"] . "\n"; // 输出: Alice
echo "Counter: " . $values["counter"] . "\n"; // 输出: 10
?>
5.2 Python get
示例
from pymemcache.client import base
client = base.Client(('127.0.0.1', 11211))
# 存储数据
client.set('user', 'Alice')
client.set('counter', 10)
# 获取单个键的值
user = client.get('user')
print(f"User: {user.decode('utf-8')}") # 输出: Alice
# 获取多个键的值
keys = ['user', 'counter']
values = client.get_multi(keys)
print(f"User: {values['user'].decode('utf-8')}, Counter: {values['counter']}") # 输出: Alice, 10
5.3 Java get
示例
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));
// 存储数据
client.set("user", 0, "Alice");
client.set("counter", 0, 10);
// 获取单个键的值
String user = (String) client.get("user");
System.out.println("User: " + user); // 输出: Alice
// 获取多个键的值
Object[] values = client.getBulk("user", "counter").values().toArray();
System.out.println("User: " + values[0] + ", Counter: " + values[1]); // 输出: Alice, 10
client.shutdown();
}
}
5.4 Node.js get
示例
const Memcached = require('memcached');
const memcached = new Memcached("127.0.0.1:11211");
// 存储数据
memcached.set("user", "Alice", 0, function(err) {
if (err) console.error(err);
// 获取单个键的值
memcached.get("user", function(err, data) {
if (err) console.error(err);
console.log("User: " + data); // 输出: Alice
});
// 获取多个键的值
memcached.get(["user", "counter"], function(err, data) {
if (err) console.error(err);
console.log("User: " + data.user + ", Counter: " + data.counter); // 输出: Alice, 10
});
});
发表回复