本文目录导读:

- Python - 获取 Redis 缓存
- Python - 获取 Memcached 缓存
- Bash - 使用命令行工具
- Node.js - 获取 Redis 缓存
- PHP - 获取多种缓存
- 通用系统信息获取 (不推荐用于缓存)
- 注意事项
Python - 获取 Redis 缓存
import redis
# 连接 Redis
r = redis.Redis(host='localhost', port=6379, db=0, decode_responses=True)
# 获取所有 key
keys = r.keys('*')
print("所有缓存键:", keys)
# 获取特定 key 的值
value = r.get('my_key')
print("值:", value)
# 获取过期时间
ttl = r.ttl('my_key')
print("剩余时间(秒):", ttl)
Python - 获取 Memcached 缓存
import memcache
# 连接 Memcached
mc = memcache.Client(['127.0.0.1:11211'])
# 获取缓存值
value = mc.get('my_key')
print("缓存值:", value)
# 获取多个 key
values = mc.get_multi(['key1', 'key2', 'key3'])
print("多个值:", values)
Bash - 使用命令行工具
# Redis redis-cli keys "*" # 列出所有 key redis-cli get "my_key" # 获取特定 key redis-cli ttl "my_key" # 查看过期时间 # Memcached echo "get my_key" | nc localhost 11211 # 通过 netcat 获取
Node.js - 获取 Redis 缓存
const redis = require('redis');
const client = redis.createClient();
// 连接并获取
client.connect().then(async () => {
// 获取所有键
const keys = await client.keys('*');
console.log('所有键:', keys);
// 获取特定值
const value = await client.get('my_key');
console.log('值:', value);
// 获取过期时间
const ttl = await client.ttl('my_key');
console.log('剩余时间:', ttl);
await client.quit();
});
PHP - 获取多种缓存
// Redis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$value = $redis->get('my_key');
echo "Redis值: $value\n";
// Memcached
$mem = new Memcached();
$mem->addServer('127.0.0.1', 11211);
$value = $mem->get('my_key');
echo "Memcached值: $value\n";
// 文件缓存 (APCu - PHP特有)
if (apcu_exists('my_key')) {
$value = apcu_fetch('my_key');
echo "APCu值: $value\n";
}
通用系统信息获取 (不推荐用于缓存)
如果你真的需要读取系统内存信息(非业务缓存):
Bash:
# 查看系统内存使用情况 free -h cat /proc/meminfo # 查看进程内存映射 pmap <PID>
Python:
import psutil
# 系统内存信息
memory = psutil.virtual_memory()
print(f"总内存: {memory.total / 1024**3:.2f} GB")
print(f"可用内存: {memory.available / 1024**3:.2f} GB")
# 进程内存使用
process = psutil.Process()
print(f"进程内存: {process.memory_info().rss / 1024**2:.2f} MB")
注意事项
- 缓存类型:明确你要获取的是哪种缓存(Redis/Memcached/本地缓存/文件缓存)
- 认证信息:生产环境通常需要密码认证
- 性能影响:频繁获取大量缓存数据可能影响服务性能
- 敏感数据:缓存中可能包含敏感信息,注意权限控制
你需要哪种类型的缓存获取方法?可以提供更具体的场景,我会给出针对性示例。