摘要:构建队列系统构建队列系统构建队列系统通过使用的及命令进行队列的写入和消费,可以轻松实现消息队列由于它是独立于游戏服务器的,所以多个游戏服务器可以通过它来交换数据发送事件,通过使用,甚至可以构建有优先级的队列系统。构建队列系统输出
通过使用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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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管理页面,切换至配置文件页面,点击详情,可以看到各个版本的默认配置模版提供的配置项详情创建实例,如果客户存在已创...
阅读 121·2024-11-07 18:25
阅读 130169·2024-02-01 10:43
阅读 792·2024-01-31 14:58
阅读 768·2024-01-31 14:54
阅读 82585·2024-01-29 17:11
阅读 2894·2024-01-25 14:55
阅读 1932·2023-06-02 13:36
阅读 2875·2023-05-23 10:26