摘要:構建隊列系統構建隊列系統構建隊列系統通過使用的及命令進行隊列的寫入和消費,可以輕松實現消息隊列由于它是獨立于游戲服務器的,所以多個游戲服務器可以通過它來交換數據發送事件,通過使用,甚至可以構建有優先級的隊列系統。構建隊列系統輸出
通過使用list的lpop及lpush命令進行隊列的寫入和消費,可以輕松實現消息隊列;由于它是獨立于游戲服務器的,所以多個游戲服務器可以通過它來交換數據、發送事件,通過使用sorted set,甚至可以構建有優先級的隊列系統。
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() {
//構建隊列系統
//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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126762.html
摘要:版本新功能介紹版本新功能介紹版本新功能介紹版本是的重大版本發布,新增數據結構,是一個新的強大的支持多播的可持久化的消息隊列,在消息隊列方面提供了新的選擇,具備豐富的應用場景和想象空間。 Redis5.0版本新功能介紹Redis5.0版本是Redis的重大版本發布,新增數據結構Stream,是一個新的強大的支持多播的可持久化的消息隊列,在消息隊列方面提供了新的選擇,具備豐富的應用場景和想象空間...
摘要:測試腳本測試結果測試結果讀寫比例快杰快杰快杰快杰快杰 壓力測試本篇目錄物理機普通機型測試快杰主備redis產品測試物理機普通機型測試測試條件1.開啟pipeline,不同連接數.2.關閉pipeline,不同連接數3.開啟pipeline,不同Data size測試腳本模板:#!/bin/bash for clients in {1,2,4,8,16,32,64,128,256,512,80...
摘要:監控告警控制臺監控告警管理云內存為用戶提供多種類型的監控,包括如使用量連接數數量等多種監控,并可設置監控告警。云內存提供默認告警模板的同時,資源監控模板界面支持用戶創建告警模板并自定義設置告警監控項。監控告警控制臺監控告警管理云內存Redis為用戶提供多種類型的監控,包括如使用量、連接數、QPS、 Key數量等多種監控,并可設置監控告警。云內存Redis提供默認告警模板的同時,資源監控模板界...
摘要:實例管理實例管理實例管理新建實例完成后,可以在控制臺上管理實例,如擴容續費及監控告警等實例管理操作。對于縮容,整個過程中對無任何影響。運維時間運維時間主備產品提供運維時間窗口設置,用戶可以根據自身業務選擇時間段來做重寫。 實例管理新建實例完成后,可以在控制臺上管理Redis實例,如:擴容、續費及監控告警等實例管理操作。主備版Redis控制臺支持創建從庫、配置升降級、設置密碼、重啟、慢查詢分析...
摘要:配置文件管理配置文件管理配置文件管理主備版控制臺上支持用戶配置文件管理,提供版本的默認配置文件。 配置文件管理主備版Redis控制臺上支持用戶配置文件管理,提供redis3.2、redis4.0、redis5.0、redis6.0、redis7.0版本的默認配置文件。進入Redis管理頁面,切換至配置文件頁面,點擊詳情,可以看到各個版本的默認配置模版提供的配置項詳情創建實例,如果客戶存在已創...
閱讀 291·2024-11-07 18:25
閱讀 130373·2024-02-01 10:43
閱讀 869·2024-01-31 14:58
閱讀 828·2024-01-31 14:54
閱讀 82770·2024-01-29 17:11
閱讀 3057·2024-01-25 14:55
閱讀 1986·2023-06-02 13:36
閱讀 3035·2023-05-23 10:26