基于 Redis 构建的高级数据结构
Kredis (Keyed Redis) 将高级类型和数据结构封装在一个单一的键周围,因此您可以将它们作为连贯的对象进行交互,而不再是孤立的程序命令。这些高级结构可以使用声明性 DSL 在 Active Models 和 Active Records 中配置为属性。Kredis 使用环境感知的 YAML 文件进行配置,使用 Rails.application.config_for,因此如果您已达到单个共享实例不再足够的规模,则可以在不同的 Redis 实例上定位数据结构。
Kredis 提供了命名空间支持,使您可以安全地同时对数据结构进行测试,而不同的测试不会相互覆盖数据。
不过需要考虑的性能开销是,当您首次在模型中读取或写入属性时, Kredis 会检查底层 Redis 关键字是否存在,同时监视并发更改,如果不存在,则写入指定的默认值。这意味着在典型的 Rails 应用中,使用默认值时,每次请求期间读取或写入具有默认值的 Kredis 属性时,将执行额外的 Redis 调用( WATCH、EXISTS、UNWATCH)。
暂无开放 Issues,或尚未同步最近议题。