Utiliser Redis et JavaScript pour créer un système de cotation boursière en temps réel : comment fournir des données de cotation en temps réel
Avec le développement rapide d'Internet et l'évolution rapide de la technologie, la demande de données de cotation boursière en temps réel devient de plus en plus urgent. Pour les investisseurs et les institutions financières, des données de marché précises et actualisées sont la clé de la prise de décision. Grâce à Redis et JavaScript, nous pouvons créer un système de cotation boursière efficace et en temps réel.
const redis = require('redis'); const client = redis.createClient(); // 模拟获取股票行情数据 const stockData = [ { symbol: 'AAPL', price: 135.00, volume: 10000 }, { symbol: 'GOOG', price: 2500.00, volume: 5000 }, { symbol: 'AMZN', price: 3200.00, volume: 2000 }, // 更多股票数据... ]; // 将股票行情数据存储到Redis中 for (const stock of stockData) { client.hset('stock', stock.symbol, JSON.stringify(stock)); }
Dans le code ci-dessus, nous utilisons la bibliothèque client Redis et créons une instance client Redis. Ensuite, nous avons obtenu les données de marché de plusieurs actions grâce à une simulation de tableau et avons utilisé la commande hset
pour stocker les données dans la table de hachage stock
. hset
命令将数据存储到stock
哈希表中。
下面是一个示例的JavaScript代码,演示如何订阅行情数据并通过WebSocket发送实时数据:
const redis = require('redis'); const client = redis.createClient(); const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 8080 }); // 订阅行情数据更新 client.subscribe('stock-update'); // WebSocket连接建立成功 wss.on('connection', (ws) => { console.log('WebSocket connection established'); // 当有新的行情数据更新时推送给客户端 client.on('message', (channel, message) => { if (channel === 'stock-update') { ws.send(message); } }); // 客户端断开连接 ws.on('close', () => { console.log('WebSocket connection closed'); }); }); // 模拟更新行情数据 setInterval(() => { const stock = stockData[Math.floor(Math.random() * stockData.length)]; stock.price += Math.random() * 10; client.publish('stock-update', JSON.stringify(stock)); }, 2000);
在上述代码中,我们创建了一个WebSocket服务器,监听8080端口。当WebSocket连接建立成功后,我们订阅了Redis频道stock-update
,并在有新的行情数据更新时,通过WebSocket将数据发送给客户端。
另外,我们使用setInterval
函数模拟了行情数据的更新,每隔2秒钟随机选择一支股票,修改其价格,并将更新后的数据发布到stock-update
Afin de fournir des données de marché en temps réel, nous pouvons utiliser le mécanisme de publication/abonnement de Redis. Lorsque de nouvelles données de marché sont mises à jour, nous publions les données sur un canal et les transmettons au client en temps réel via WebSocket.
Ce qui suit est un exemple de code JavaScript qui montre comment s'abonner aux données de marché et envoyer des données en temps réel via WebSocket :
stock-update
et envoyons les données au client via WebSocket lorsque de nouvelles données de marché sont mises à jour. 🎜🎜De plus, nous utilisons la fonction setInterval
pour simuler la mise à jour des données de marché, sélectionner aléatoirement une action toutes les 2 secondes, modifier son prix et publier les données mises à jour sur stock- updatecanal. 🎜🎜Grâce aux exemples de code ci-dessus, nous avons complété les étapes clés de la création d'un système de cotation boursière en temps réel à l'aide de Redis et JavaScript. Ce système est efficace et en temps réel, et peut fournir aux investisseurs et aux institutions financières des données de marché précises et opportunes pour les aider à prendre de meilleures décisions. Bien entendu, ce système peut être encore optimisé et étendu pour ajouter davantage de fonctions et de fonctionnalités en fonction des besoins réels. 🎜🎜Résumé : 🎜Cet article explique comment utiliser Redis et JavaScript pour créer un système de cotation boursière en temps réel et fournit des exemples de code pertinents. En utilisant Redis pour stocker les données de marché et en utilisant le mécanisme de publication/abonnement et WebSocket pour mettre en œuvre la transmission de données en temps réel, nous pouvons créer un système boursier efficace et en temps réel pour fournir aux investisseurs et aux institutions financières des données de marché précises et opportunes. J'espère que cet article vous sera utile. 🎜
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!