轉(zhuǎn)載請(qǐng)附原文鏈接:http://blog.fandong.me/2017/08/12/iOS-SwiftVaporWeb14/
前言
之前一直有做Java后臺(tái)開(kāi)發(fā)的興趣手销,可是想到要看好多的Java教程放接,作為一個(gè)iOS開(kāi)發(fā)者博杖,我放棄了,
后來(lái)從朋友韓云智VL那里知道了這個(gè)框架京办,竟是用Swift寫的胳泉,不得不說(shuō)八回,它燃起了我的興趣。
Vapor是一個(gè)基于Swift開(kāi)發(fā)的服務(wù)端框架吩坝,可以工作于iOS毒姨,Mac OS,Ubuntu钉寝。
為了配合Swift部署到服務(wù)器,我把ECS的服務(wù)器系統(tǒng)改為Ubuntu16.04弧呐。
緩存
Vapor的CacheProtocol
允許你使用可選的過(guò)期日期從緩存中存儲(chǔ)和檢索條目
默認(rèn)情況下,Droplet的緩存設(shè)置為MemoryCache
,看下下面的供應(yīng)商
存儲(chǔ)
可以直接存錯(cuò)數(shù)據(jù)到緩存中
try drop.cache.set("Hello","world")
過(guò)期時(shí)間
當(dāng)你存儲(chǔ)數(shù)據(jù)是,你也可以設(shè)置過(guò)期時(shí)間
try drop.cache.set("ephemeral",42,expiration: Date(timeIntervalSinceNow:30))
在上面的示例中,設(shè)置的鍵值對(duì)將在30秒之后過(guò)期
檢索
你可以使用.get()方法從緩存中檢索數(shù)據(jù)
刪除
可以使用.delete()方法從緩存中刪除鍵
try drop.cache.delete("hello")
供應(yīng)商
這是官方緩存提供商的列表,你可以從GitHub獲取更多包
類型 | 鍵 | 描述 | 包 | 類型 |
---|---|---|---|---|
Memory | memory | 在內(nèi)存中,不持久 | Vapor | MemoryCache |
Fluent | fluent | 使用Fluent數(shù)據(jù)庫(kù) | Fluent 提供商 | FluentCache |
Redis | redis | 使用Redis數(shù)據(jù)庫(kù) | Redis提供商 | RedisCache |
如何使用
要使用除默認(rèn)值MemoryCache
以外的其他緩存提供商,確保你已經(jīng)添加提供商到你的包了
import Vapor
import <package>Provider
let config = try Config()
try config.addProvider(<package>Provider.Provider.self)
let drop = try Droplet(config)
...
然后更改Droplet的配置文件
Config/droplet.json
{
"cache":"<key>"
}