zset儲存文章發布時間
zset儲存文章得分
set集合儲存每一篇文章的投票的使用者
vote:110
user:1
user:2
需要將文章屬性以map集合的形式傳入到hash結構中,之後在對應score與time新增當前文章
// 發布文章
public
static string postarticle
(jedis conn, string user, string link, string title)
// 投票
public
static
void
articlevote
(jedis conn, string user, string article)
string articleid = article.
substring
(article.
indexof
(":")+
1);if
(conn.
sadd
("voted:"
+ articleid, user)==1
)}
設定引數,每一次獲取指定數量的文章,
由於需要滿足文章點讚排名,此時就需要去根據分數從大到小排序(zrevrange實現),之後根據返回的article,在has**章結構中找到對應文章屬性。
public
static list
>
getarticle
(jedis conn,
int page)
// 獲取文章資訊
public
static list
>
getarticle
(jedis conn,
int page, string order)
return list;
}
// 群組刪除功能
public
static
void
delgroup
(jedis conn, string articleid, string[
] groups)}}
// 得到群組文章
public
static list
>
getgrouparticle
(jedis conn, string group,
int page)
public
static list
>
getgrouparticle
(jedis conn, string group,
int page, string order)
return
getarticle
(conn, page, key)
;// 找到群組裡排序後的文章
}
// 列印文章
public
static
void
printarticle
(list
> articlelist)
else
} system.out.
println()
;}}
public
static
final
int week_time =7*
86400
;public
static
final
int var_voted =
432;
public
static
final
int per_page =25;
public
static
void
main
(string[
] args)
public
static
void
run(
) system.out.
println
(" ");
system.out.
println()
;articlevote
(jedis,
"other_user"
,"article:"
+ articleid)
; string votes = jedis.
hget
("article:"
+ articleid,
"votes:");
system.out.
println
("當前文章獲取票數votes:"
+ votes)
;assert integer.
parseint
(votes)
>1;
system.out.
println
(" ");
system.out.
println
("最高分數分組展示");
list
> list =
getarticle
(jedis,1)
;printarticle
(list)
;assert list.
size()
>1;
system.out.
println
("分組展示功能");
addgroup
(jedis, articleid,
newstring
);list
> list2 =
getgrouparticle
(jedis,
"newgroup",1
);printarticle
(list2)
;assert list2.
size()
>1;
}
golang使用redis對文章進行投票
最近在學redis,本人菜鳥.是過程式的,沒考慮優化.就是發篇文章記錄一下.感覺redis還是很強大的.評分 支援票數 86400 200 時間戳,文章獲得為200票就可以在首頁展示一天,隨著時間的流逝,當分數小於當前時間戳的時候,就從首頁撤下.使用兩個有序集合來有序的儲存文章 第乙個有序集合的成員...
redis投票計數
快取利用測試,這裡我們獲取傳過來的投票資料,每次加1,如果增加到了設定值,才將投票 次數寫回mysql,這大大減輕了與mysql鏈結的開銷,redis的使用由此可見一斑 var unknown type 來自 www.crazyant.net和www.51projob.com 獲取投票的資訊的id ...
redis實戰 4 發布並獲取文章
發布文章要建立乙個id,可以通過計數器counter執行incr命令來完成。接著使用sadd將文章發布者的id新增到記錄文章已投票使用者名單的集合裡面,並使用expire為該集合設定過期時間 一周 之後,使用hmset來儲存文章相關資訊,並執行兩個zadd,將文章的初始評分和發布時間分別存入對應的有...