SwiftlyLRUSwift 的 LRU 緩存
SwiftlyLRU 是一款使用的純 Swift實(shí)現(xiàn)的 LRU 緩存。近期,老項(xiàng)目已不被使用,已在緩存中丟棄了它。SwiftlyLRU 是理想化了的模型,它提供了大型列表和無限滾動(dòng)。其時(shí)間和空間復(fù)雜度是 O(1) ,由于采用了泛型,所以它可以存儲(chǔ)任何數(shù)值。你需要將 SwiftlyLRU.swift 拉到你的工程中就可以運(yùn)行了。
//// Example//import Foundation//...//Create cache with capacityvar cache = SwiftlyLRU<String, Float>(capacity: 7) //Add Key, Value pairs
cache["AAPL"] = 114.63
cache["GOOG"] = 533.75
cache["YHOO"] = 50.67
cache["TWTR"] = 38.91
cache["BABA"] = 109.89
cache["YELP"] = 55.17
cache["BABA"] = 109.80
cache["TSLA"] = 231.43
cache["AAPL"] = 113.41
cache["GOOG"] = 533.60
cache["AAPL"] = 113.01
//Retrieve
if let item = cache["AAPL"] {
println("Key: AAPL Value: \(item)")
} else {
println("Item not found.")
}/* OUTPUT Key: AAPL Value: 113.01*/
//Describe
println(cache)/* OUTPUT SwiftlyLRU Cache(7) Key: AAPL Value: Optional(113.01) Key: GOOG Value: Optional(533.6) Key: TSLA Value: Optional(231.43) Key: BABA Value: Optional(109.8) Key: YELP Value: Optional(55.17) Key: TWTR Value: Optional(38.91) Key: YHOO Value: Optional(50.67) *///...
評(píng)論
圖片
表情
