2016-12-08 80 views
0

我有我需要的Redis來存儲以下信息:Redis中的排序集vs散列?

url => {title, author, email} 

每個URL都有titleauthoremail

所以,我必須確保信息在商店不dubplicated。

我想用Sorted sets像爲:

ZADD links_urls url "title" 
ZADD links_author url "author" 
ZADD links_email url "email" 

你覺得這個怎麼樣?我錯了嗎?

+0

你是什麼意思,不重複?爲什麼你想使用排序集? –

+0

我的意思是,我不能將相同的值添加到排序集合,這是主要原因。但第二個我應該綁定這些有序集合,以便通過分數從每個集合中獲取相關數據 – Griboedov

回答

0

這不是使用排序集合的正確方法。您正在使用url作爲分數。但是,分數必須是數字(它們定義了排序順序)。

如果我正確理解您的約束條件,則每個url都是唯一的。如果是這樣的話,我會使用散列來存儲所有內容。

我會使用URL作爲密鑰,然後串聯或JSON-編碼字段一起,像這樣:

HSET links <url> '<title>::<author>::<email>' 

這確保恆定的時間查找和分期常量時間插入。