redis實戰 4 發布並獲取文章

2021-10-21 20:20:08 字數 787 閱讀 3506

發布文章要建立乙個id,可以通過計數器counter執行incr命令來完成。接著使用sadd將文章發布者的id新增到記錄文章已投票使用者名單的集合裡面,並使用expire為該集合設定過期時間(一周)。之後,使用hmset來儲存文章相關資訊,並執行兩個zadd,將文章的初始評分和發布時間分別存入對應的有序集合中;

def post_article

(conn,user,titile,link)

)//將問自己新增到「發布文章有序集合」中

conn.

zadd

("score:"

,article,now + vote_score)

// 將文章新增到 評分的有序集合中

conn.

zadd

("time:"

,article,now)

return articleid

}

如何獲取評分最高的文章,如何獲取最新的文章?

為了實現上面功能,需要先使用zrevrange命名取出多個文章id,然後對每個文章id執行一次hgetall取出文章的詳細資訊,這個方法既可以取出評分最高的,也可以取出最新的文章。需要注意的,有序集合預設分值從小到大排列,所以使用zreveange,按照分值從大到小的取出文章id才是正確的做法

article_pre_page=

25def get_article (conn,page,order=

"score:"

)

Redis學習 4 發布訂閱

redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收訊息。redis 客戶端可以訂閱任意數量的頻道。當有新訊息通過 publish 命令傳送給頻道 channel1 時,這個訊息就會被傳送給訂閱它的三個客戶端 訂閱乙個或多個符合給定模式的頻道。pu...

redis 二 發布訂閱

參考資料 redis 4.x cookbook 中文版 redis官方文件 注 本文redis的版本為 5.0.3 注意,如果先發布訊息,然而頻道沒有訂閱者,這時的訊息會被丟失 redis的發布訂閱是乙個訊息推送的機制 發布者 publisher 向指定頻道 channel 發布訊息 message...

Redis七(發布訂閱)

redis 通過 publish subscribe 等命令實現了訂閱與發布模式,這個功能提供兩種資訊機制,分別是訂閱 發布到頻道和訂閱 發布到模式 訂閱者可以訂閱乙個或多個頻道,發布者向乙個頻道傳送訊息後,所有訂閱這個頻道的訂閱者都將收到訊息,而發布者也將收到乙個數值,這個數值是收到訊息的訂閱者的...