• ADADADADAD

    redis的订阅功能有什么用[ 建站问答 ]

    建站问答 时间:2024-12-01 19:06:56

    作者:文/会员上传

    简介:

    redis订阅功能可以用于消息的传输,是一种消息通信模式,Redis客户端可以订阅任意数量的频道,具体实现代码:packagecom.hcmony.sword.redis;importorg.apache.commons.lang3.Strin

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    redis订阅功能可以用于消息的传输,是一种消息通信模式,Redis客户端可以订阅任意数量的频道,具体实现代码:

    packagecom.hcmony.sword.redis;

    importorg.apache.commons.lang3.StringUtils;

    importredis.clients.jedis.Jedis;

    importredis.clients.jedis.JedisPool;

    importredis.clients.jedis.JedisPubSub;

    /**

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

    */

    publicclassRedisMQ{

    privatestaticfinalStringTOPIC="TOPIC";

    privatefinalJedisPooljedisPool;

    publicRedisMQ(JedisPooljedisPool){

    this.jedisPool=jedisPool;

    }

    /**

    *发布消息

    *@paramtopic

    *@parammessge

    */

    publicvoidpublish(Stringtopic,Stringmessge){

    Jedisjedis=null;

    if(StringUtils.isBlank(topic)){

    topic=TOPIC;

    }

    try{

    jedis=jedisPool.getResource();

    jedis.publish(topic,messge);

    }

    finally{

    if(null!=jedis){

    jedis.close();

    }

    }

    }

    /**

    *订阅消息

    *@paramtopic

    *@paramjedisPubSub

    */

    publicvoidsubscribe(Stringtopic,JedisPubSubjedisPubSub){

    Jedisjedis=null;

    if(StringUtils.isBlank(topic)){

    topic=TOPIC;

    }

    try{

    jedis=jedisPool.getResource();

    jedis.subscribe(jedisPubSub,topic);

    }

    finally{

    if(null!=jedis){

    jedis.close();

    }

    }

    }

    publicstaticvoidmain(String[]args){

    //默认连接本地redis,

    //loclhost:6379

    JedisPooljedisPool=newJedisPool();

    RedisMQpublish=newRedisMQ(jedisPool);

    newThread(newRunnable(){

    @Override

    publicvoidrun(){

    publish.subscribe("PID",newMyjedisPubSub());

    }

    }).start();

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

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

    }

    }

    publicstaticclassMyjedisPubSubextendsJedisPubSub{

    @Override

    publicvoidonMessage(Stringchannel,Stringmessage){

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

    }

    }

    }

    redis的订阅功能有什么用.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: redis