怎么用脚本获取内存缓存

wen 实用脚本 1

本文目录导读:

怎么用脚本获取内存缓存

  1. Python - 获取 Redis 缓存
  2. Python - 获取 Memcached 缓存
  3. Bash - 使用命令行工具
  4. Node.js - 获取 Redis 缓存
  5. PHP - 获取多种缓存
  6. 通用系统信息获取 (不推荐用于缓存)
  7. 注意事项

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")

注意事项

  1. 缓存类型:明确你要获取的是哪种缓存(Redis/Memcached/本地缓存/文件缓存)
  2. 认证信息:生产环境通常需要密码认证
  3. 性能影响:频繁获取大量缓存数据可能影响服务性能
  4. 敏感数据:缓存中可能包含敏感信息,注意权限控制

你需要哪种类型的缓存获取方法?可以提供更具体的场景,我会给出针对性示例。

抱歉,评论功能暂时关闭!