您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關key-value如何實現list功能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
key-value怎樣實現list功能
如果用key-value中的value存儲list,只能實現最簡單的列表功能(按照id或時間先后排序,例如使用memcache的append或prepend協議).其他list操作只能靠客戶端操作,性能很差,如果數據量較大,操作時間是無法接受的,并發也會遇到巨大挑戰).
我們目前在使用的mighty(內部研發)持久層框架對list的操作就是基于memcache的appendprepend協議實現對id列表的簡單操作,滿足了大多簡單列表的場景.缺點是當影響排序的更新操作較多時cache的命中率會下降的很厲害.
什么是key-list
key-list系統key對應的”value”是一個list(eg.setlist),可以對list中的單個item進行操作,理想的key-list需要如下特點:
1.list可以是海量的、且操作性能高效
2.list是可以是有序的、且可動態調整順序
key-list使用場景有哪些
論壇中的主題列表、回復列表
微博中的用戶關注列表、用戶feed列表、用戶關注feed列表
最近訪問列表
集合操作:求交集并集差集(sdiffsintersunion)
好友推薦
排行榜
開源的key-list系統
Redisisanopensource,advancedkey-valuestore.Itisoftenreferredtoasadatastructureserversincekeyscancontainstrings,hashes,lists,setsandsortedsets.
redis也被我列入到key-list系統中,是因為redis是支持list操作的,正如timyang在博客中說的:對Redis的作用的不同解讀決定了你對Redis的使用方式.
目前sinaalibabadigg等網站已經在使用redis.
memlink
Memlink是天涯社區開發的一個高性能、持久化、分布式的Key-list/queue數據引擎。
感謝各位的閱讀!關于“key-value如何實現list功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。