SwiftLvDB 2.0.0

SwiftLvDB 2.0.0

ding_qili 维护。



SwiftLvDB 2.0.0

  • 作者
  • Dcell

SwiftLvDB

SwiftLvDB CI

一个快速键值存储库,Leveldb for Swift。

  • 支持基本类型 [int,float,double,bool,string...]
  • 支持对象 [Object:NSCode]
  • 支持列表
  • 支持哈希表
  • 支持内存缓存(LRU)
  • 支持 Codeable(V2.0.0)

CocoaPods 静态链接库安装

pod 'SwiftLvDB'

用法

###创建 SwiftLvDB 对象

let sldb = SwiftLvDB.sharedInstance
or
let sldb = SwiftLvDB(subName: "sldb")

如果在多个线程中使用相同的 init:subName 数据库,确保 SwiftLvDB 实例是唯一的;在 init:subName 之前调用 close()

###为键设置值

let testValue:String = "hello"
let testKey = "testSaveString"
SwiftLvDB.sharedInstance.set(testValue, forKey: testKey)

###获取键的值

let testKey = "testSaveString"
let value = SwiftLvDB.sharedInstance.string(forKey: testKey)

###保存结构体、ArrayList 或 HashMap,建议使用 Codeable 协议

struct TestStruct:Codable,Equatable{
    var a:Int
    var b:String
    
    static func == (lhs: Self, rhs: Self) -> Bool{
        return lhs.a == rhs.a && lhs.b == rhs.b
    }
}
let testKey = "testSaveCodeable"
let testvalue = TestStruct(a: 1, b: "hello")
try sldb.set(testvalue, forKey: testKey)
sldb.codeableObject(TestStruct.self, forKey: testKey)
let testValue:[Int] = [1,2,3,4,5]
let testKey = "testSaveList"
try sldb.set(testValue, forKey: testKey)
sldb.codeableObject([Int].self, forKey: testKey)
var testValue:[String:Int] = [:]
testValue["1"] = 1
testValue["2"] = 2
    
let testKey = "testSaveList"
try sldb.set(testValue, forKey: testKey)
sldb.codeableObject([String:Int].self, forKey: testKey)

MIT