Kitura

Docs Build Status - Master macOS Linux Apache 2 Slack Status

Kitura-Session-Redis

Kitura-Session 存储,使用 Redis 作为后端存储

摘要

使用 Redis 作为后端存储的 Kitura-Session 存储。

目录

Swift 版本

最新版本的 Kitura-Session-Redis 需要 Swift 4.0 或更新版本。您可以按照此 链接 下载此版本的 Swift 二进制文件。不保证与其他 Swift 版本的兼容性。

API

为了使用 Redis 作为会话存储,请创建一个 RedisStore 的实例,并将其传递给 Session 构造函数。

import KituraSession
import KituraSessionRedis

let redisStore = RedisStore(redisHost: host, redisPort: port, redisPassword: password)
let session = Session(secret: <secret>, store: redisStore)

RedisStore 构造函数需要 Redis 服务器主机和端口。其余参数是可选的。

init (redisHost: String, redisPort: Int32, redisPassword: String?=nil, ttl: Int = 3600, db: Int = 0, keyPrefix: String = "s:")

您可以在 redis.conf 文件中设置 Redis 密码。

requirepass <your password>

数据库的最大数量也在 redis.conf 文件中设置。

databases <number of databases>

传递给构造函数的 db 必须介于 0 和此数字减 1 之间。

Swift 测试设置

要运行 Kitura-Session-Redis 的 swift 测试,您必须首先设置 Redis。从 Kitura-Session-Redis 目录中,运行以下命令:

MacOS

brew install redis --build-from-source || brew outdated redis || brew upgrade redis
export REDIS_CONF_FILE=/usr/local/etc/redis.conf
password=$(head -n 1 “/Tests/KituraSessionRedisTests/password.txt")
sudo perl -pi -e "s/# requirepass foobared/requirepass ${password}/g" $REDIS_CONF_FILE
redis-server $REDIS_CONF_FILE

Linux

sudo apt-get update -y
sudo apt-get install -y redis-server
export REDIS_CONF_FILE=/etc/redis/redis.conf
sudo chmod go+x /etc/redis/
sudo chmod go+r $REDIS_CONF_FILE
password=$(head -n 1 “/Tests/KituraSessionRedisTests/password.txt")
sudo perl -pi -e "s/# requirepass foobared/requirepass ${password}/g" $REDIS_CONF_FILE
sudo service redis-server restart

然后运行 swift test

许可

该库在 Apache 2.0 许可下发布。完整许可文本可在 LICENSE 中找到。