redis.clientsgroupid>
jedisartifactid>
2.9.0version>
jartype>
compilescope>
dependency>
1.2 - 開啟 redis 伺服器待命.
1/3.
先開啟
sub端:
package example.me.pubsub;
import redis.clients.jedis.jedis;
import redis.clients.jedis.jedispubsub;
public
class
mysub
public
void
onsubscribe(string channel, int num)
public
void
onmessage(string channel, string msg)
public
void
onpunsubscribe(string channel, int num)
/** num 訂閱數量
*/public
void
onpsubscribe(string channel, int num)
/** channel0訂閱的channel正規表示式
* channel 匹配上該正則channel值
* msg 收到的訊息
*/public
void
onpmessage(string channel0, string channel, string msg)
};/*
* 啟動訂閱,當該方法啟動時,將阻塞等待訊息
* 說明:
* 1.subscribe(jedispubsub jedispubsub, string... channels)
* 是常規訂閱方法,channel值基於完全匹配,方法中channels是多個要訂閱的channel值
* 2.psubscribe(jedispubsub jedispubsub, string... patterns)
* 是正則訂閱方法,channel值基於正則匹配,方法中的patterns是多個訂閱到正規表示式
* 不同的訂閱將會觸發jedispubsub中不同的方法
*/subjedis.subscribe(jedissubsub, "news", "tvshow");//完全匹配}}
2/3.
pub端:
package example.me.pubsub;
import redis.clients.jedis.jedis;
import redis.clients.jedis.jedispool;
import redis.clients.jedis.jedispoolconfig;
public
class
mypub catch(exception e)finally}}
3/3.
同時我們在 redis-cli 端也訂閱相同channel:
jedis-sub端:
redis-cli端:
4.1 - 本篇僅作為基礎,還有很多功能未展現.
4.2 - redis-clients-officialsite已有很多十分優秀的開源專案供參考.
雙端鍊錶的java實現
雙端鍊錶,一 什麼是雙鏈表 鍊錶中儲存著對最後乙個鏈結點引用的鍊錶 二 從頭部進行插入 要對鍊錶進行判斷,如果為空則設定尾結點為新新增的結點 三 從尾部進行插入 如果鍊錶為空,則直接設定頭結點為新新增的結點,否則設定尾結點的後乙個結點為新新增結點 四 從頭部進行刪除 判斷頭部結點是否有下乙個結點,如...
java整合hessian客戶端實現
廢話不多說 上 這是簡單寫了乙個客戶端呼叫的工具類 其中因為url還沒有確定 所以可以忽略。public class hessianproxyfactoryutil else return result 移除hessionclientbean param clazz public static vo...
Java單鏈表(雙端鍊錶)簡單實現
1 節點資料結構 public class linknode public linknode int value 2 單鏈表實現 public class singlelink public void insertfirst int value else public intdeletefirst ...