PHP Redis 实时存储行情数据 - 基于时间戳的动态更新和过期设置
connect('127.0.0.1', 6379);
// 定义存入数据的键名
$key = 'market_data';
// 获取当前时间戳
$ts = time();
// 定义要存入的数据
$data = [
'symbol' => 'BTC/USD',
'price' => 60000,
'ts' => $ts,
];
// 将数据存入 Redis,使用时间戳作为键名,设置过期时间为 30 秒
$redis->hMset($key, [$ts => json_encode($data)]);
$redis->expire($key, 30);
// 获取最新的 20 条数据
$marketData = $redis->hGetAll($key);
arsort($marketData); // 按时间戳倒序排序
$latestData = array_slice($marketData, 0, 20); // 取前 20 条数据
// 输出最新的 20 条数据
foreach ($latestData as $jsonData) {
$data = json_decode($jsonData, true);
echo $data['symbol'] . ': ' . $data['price'] . "\n";
}
// 关闭 Redis 连接
$redis->close();
原文地址: https://www.cveoy.top/t/topic/obCC 著作权归作者所有。请勿转载和采集!