SwiftlyLRUSwift 的 LRU 缓存

联合创作 · 2023-09-27 14:15

SwiftlyLRU 是一款使用的纯 Swift实现的  LRU 缓存。近期,老项目已不被使用,已在缓存中丢弃了它。SwiftlyLRU  是理想化了的模型,它提供了大型列表和无限滚动。其时间和空间复杂度是 O(1) ,由于采用了泛型,所以它可以存储任何数值。你需要将 SwiftlyLRU.swift  拉到你的工程中就可以运行了。

//// 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) *///...

 

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报