91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

redis的訂閱功能有什么用

小新
108
2021-02-16 09:11:33
欄目: 云計算

redis的訂閱功能有什么用

redis訂閱功能可以用于消息的傳輸,是一種消息通信模式,Redis客戶端可以訂閱任意數量的頻道,具體實現代碼:

package com.hcmony.sword.redis;

import org.apache.commons.lang3.StringUtils;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPubSub;

/**

 * <h3>Shenjue.java基本描述</h3>

 */

public class RedisMQ {

 

private static final String TOPIC="TOPIC";

 

private final JedisPool jedisPool;

 

public RedisMQ(JedisPool jedisPool) {

this.jedisPool = jedisPool;

/**

 * 發布消息

 * @param topic

 * @param messge

 */

public void publish(String topic ,String messge){

 

Jedis jedis = null;

if (StringUtils.isBlank(topic)){

topic=TOPIC;

}

try {

jedis = jedisPool.getResource();

jedis.publish(topic,messge);

}

finally {

if (null != jedis) {

jedis.close();

}

}

}

/**

 * 訂閱消息

 * @param topic

 * @param jedisPubSub

 */

public void subscribe(String topic,JedisPubSub jedisPubSub){

 

Jedis jedis = null;

if (StringUtils.isBlank(topic)){

topic=TOPIC;

}

try {

jedis = jedisPool.getResource();

jedis.subscribe(jedisPubSub,topic);

}

finally {

if (null != jedis) {

jedis.close();

}

}

}

public static void main(String[] args) {

//默認連接本地redis,

// loclhost:6379

JedisPool jedisPool = new JedisPool();

RedisMQ publish = new RedisMQ(jedisPool);

new Thread(new Runnable() {

@Override

public void run() {

publish.subscribe("PID",new MyjedisPubSub());

}

}).start();

for (int i=0;i<100;i++){

publish.publish("PID","messge"+i);

}

}

public static class MyjedisPubSub extends JedisPubSub {

@Override

public void onMessage(String channel, String message) {

System.out.println("-------channel is "+channel+" message is "+message);

}

}

}


0
石城县| 平江县| 焉耆| 河曲县| 湛江市| 广汉市| 攀枝花市| 景泰县| 虎林市| 东城区| 彭州市| 铁岭市| 洛川县| 涿州市| 邵武市| 黎平县| 青海省| 滦南县| 徐汇区| 凤阳县| 德安县| 阜新市| 锡林浩特市| 虹口区| 新巴尔虎左旗| 大英县| 石首市| 婺源县| 潍坊市| 丰县| 塔城市| 阳西县| 西藏| 武隆县| 仙居县| 英超| 蓬莱市| 嘉义县| 乌审旗| 荔浦县| 和政县|