摘要:構(gòu)建隊列系統(tǒng)構(gòu)建隊列系統(tǒng)構(gòu)建隊列系統(tǒng)通過使用的及命令進(jìn)行隊列的寫入和消費,可以輕松實現(xiàn)消息隊列由于它是獨立于游戲服務(wù)器的,所以多個游戲服務(wù)器可以通過它來交換數(shù)據(jù)發(fā)送事件,通過使用,甚至可以構(gòu)建有優(yōu)先級的隊列系統(tǒng)。構(gòu)建隊列系統(tǒng)輸出
通過使用list的lpop及l(fā)push命令進(jìn)行隊列的寫入和消費,可以輕松實現(xiàn)消息隊列;由于它是獨立于游戲服務(wù)器的,所以多個游戲服務(wù)器可以通過它來交換數(shù)據(jù)、發(fā)送事件,通過使用sorted set,甚至可以構(gòu)建有優(yōu)先級的隊列系統(tǒng)。
import redis.clients.jedis.Jedis;
class ProducerThread extends Thread {
private Jedis jedis;
private int port;
private String host,key;
ProducerThread(String host, int port, String key) {
super(host);
this.key = key;
this.port = port;
jedis = new Jedis(host, port);
}
protected void finalize( ){
jedis.close();
}
public void run() {
//System.out.println("ProducerThread is running...");
for(int i = 0; i < 10; i++) {
jedis.lpush(key, "job"+ Integer.toString(i));
System.out.println("ProducerThread push job"+ Integer.toString(i));
}
}
}
class ConsumerThread extends Thread {
private Jedis jedis;
private int port;
private String host,key;
ConsumerThread(String host, int port, String key) {
super(host);
this.key = key;
this.port = port;
jedis = new Jedis(host, port);
}
protected void finalize( ) {
jedis.close();
}
public void run() {
//構(gòu)建隊列系統(tǒng)
//System.out.println("ConsumerThread is running...");
for(int i = 0; i < 10; i++) {
System.out.println("ConsumerThread pop "+ jedis.lpop(key));
}
}
}
public class QueueSystem {
public static void main(String[] args) {
String host = "127.0.0.1";
int port = 10011;
String key = "jobs";
ProducerThread pT = new ProducerThread(host,port,key);
ConsumerThread cT = new ConsumerThread(host,port,key);
pT.start();
cT.start();
}
}
輸出:
ConsumerThread pop null
ProducerThread push job0
ConsumerThread pop job0
ProducerThread push job1
ConsumerThread pop job1
ProducerThread push job2
ConsumerThread pop job2
ProducerThread push job3
ConsumerThread pop job3
ProducerThread push job4
ConsumerThread pop job4
ProducerThread push job5
ConsumerThread pop job5
ProducerThread push job6
ConsumerThread pop job6
ProducerThread push job7
ConsumerThread pop job7
ProducerThread push job8
ConsumerThread pop job8
ProducerThread push job9
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/126762.html
摘要:版本新功能介紹版本新功能介紹版本新功能介紹版本是的重大版本發(fā)布,新增數(shù)據(jù)結(jié)構(gòu),是一個新的強(qiáng)大的支持多播的可持久化的消息隊列,在消息隊列方面提供了新的選擇,具備豐富的應(yīng)用場景和想象空間。 Redis5.0版本新功能介紹Redis5.0版本是Redis的重大版本發(fā)布,新增數(shù)據(jù)結(jié)構(gòu)Stream,是一個新的強(qiáng)大的支持多播的可持久化的消息隊列,在消息隊列方面提供了新的選擇,具備豐富的應(yīng)用場景和想象空間...
摘要:測試腳本測試結(jié)果測試結(jié)果讀寫比例快杰快杰快杰快杰快杰 壓力測試本篇目錄物理機(jī)普通機(jī)型測試快杰主備redis產(chǎn)品測試物理機(jī)普通機(jī)型測試測試條件1.開啟pipeline,不同連接數(shù).2.關(guān)閉pipeline,不同連接數(shù)3.開啟pipeline,不同Data size測試腳本模板:#!/bin/bash for clients in {1,2,4,8,16,32,64,128,256,512,80...
摘要:監(jiān)控告警控制臺監(jiān)控告警管理云內(nèi)存為用戶提供多種類型的監(jiān)控,包括如使用量連接數(shù)數(shù)量等多種監(jiān)控,并可設(shè)置監(jiān)控告警。云內(nèi)存提供默認(rèn)告警模板的同時,資源監(jiān)控模板界面支持用戶創(chuàng)建告警模板并自定義設(shè)置告警監(jiān)控項。監(jiān)控告警控制臺監(jiān)控告警管理云內(nèi)存Redis為用戶提供多種類型的監(jiān)控,包括如使用量、連接數(shù)、QPS、 Key數(shù)量等多種監(jiān)控,并可設(shè)置監(jiān)控告警。云內(nèi)存Redis提供默認(rèn)告警模板的同時,資源監(jiān)控模板界...
摘要:實例管理實例管理實例管理新建實例完成后,可以在控制臺上管理實例,如擴(kuò)容續(xù)費及監(jiān)控告警等實例管理操作。對于縮容,整個過程中對無任何影響。運(yùn)維時間運(yùn)維時間主備產(chǎn)品提供運(yùn)維時間窗口設(shè)置,用戶可以根據(jù)自身業(yè)務(wù)選擇時間段來做重寫。 實例管理新建實例完成后,可以在控制臺上管理Redis實例,如:擴(kuò)容、續(xù)費及監(jiān)控告警等實例管理操作。主備版Redis控制臺支持創(chuàng)建從庫、配置升降級、設(shè)置密碼、重啟、慢查詢分析...
摘要:配置文件管理配置文件管理配置文件管理主備版控制臺上支持用戶配置文件管理,提供版本的默認(rèn)配置文件。 配置文件管理主備版Redis控制臺上支持用戶配置文件管理,提供redis3.2、redis4.0、redis5.0、redis6.0、redis7.0版本的默認(rèn)配置文件。進(jìn)入Redis管理頁面,切換至配置文件頁面,點擊詳情,可以看到各個版本的默認(rèn)配置模版提供的配置項詳情創(chuàng)建實例,如果客戶存在已創(chuàng)...
閱讀 1583·2025-02-07 13:29
閱讀 1008·2024-11-07 18:25
閱讀 131504·2024-02-01 10:43
閱讀 1380·2024-01-31 14:58
閱讀 1149·2024-01-31 14:54
閱讀 83576·2024-01-29 17:11
閱讀 3879·2024-01-25 14:55
閱讀 2395·2023-06-02 13:36