1 个版本 (0 个不稳定)

1.0.0-rc.12023年1月11日

#1217数据库接口

Apache-2.0

24KB
331

LaunchDarkly Rust 服务器端 SDK - 使用 redis 客户端进行 Redis 集成

Circle CI

此库为 Redis 提供持久化机制(数据存储),用于替代 LaunchDarkly Rust SDK 的默认内存数据存储。

它使用的 Redis API 实现是 redis。对于 Rust,还有其他 Redis 客户端实现;如果 LaunchDarkly SDK 的 Redis 集成使用了其他 Redis 客户端,它们将在单独的仓库中。

更多信息,请参阅: 使用持久化特征存储.

LaunchDarkly 概述

LaunchDarkly 是一个功能管理平台,每天为超过 1000 亿次功能标志提供服务,帮助团队更快地构建更好的软件。 今天开始使用 LaunchDarkly

Twitter Follow

快速设置

这假设您已经安装了 LaunchDarkly Rust SDK。

  1. 导入 LaunchDarkly SDK 包和此库的包
use launchdarkly_server_sdk::{Client, ConfigBuilder, PersistentDataStoreBuilder};
use launchdarkly_server_sdk_redis::RedisPersistentDataStoreFactory;
use std::sync::Arc;
  1. 在配置 SDK 客户端时,向 ConfigBuilder 提供一个 PersistentDataStoreBuilder 实例。您可以使用 RedisPersistentDataStoreFactory 的方法指定任何自定义 Redis 选项。例如,要自定义 Redis URL
let mut redis_factory = RedisPersistentDataStoreFactory::new();
redis_factory.url("redis://127.0.0.1:9000");
let persistent_data_store_builder = PersistentDataStoreBuilder::new(Arc::new(redis_factory));

let mut config_builder = ConfigBuilder::new(&sdk_key);
config_builder = config_builder.data_store(&persistent_data_store_builder);

默认情况下,存储将尝试连接到本地端口为 6379 的 Redis 实例。

缓存行为

LaunchDarkly SDK 为任何持久化数据存储提供标准缓存机制,以减少数据库流量。这是通过 SDK 的 PersistentDataStoreBuilder 类配置的,如 SDK 文档中所述。例如,要指定 5 分钟的缓存 TTL

let mut persistent_data_store_builder =
    PersistentDataStoreBuilder::new(Arc::new(redis_factory));
persistent_data_store_builder.cache_time(std::time::Duration::from_secs(5 * 60));

关于 LaunchDarkly

  • LaunchDarkly 是一个持续交付平台,提供功能标志作为服务,并允许开发者快速安全地进行迭代。我们可以让您轻松地标记和管理功能,从 LaunchDarkly 控制台进行管理。使用 LaunchDarkly,您可以
    • 将新功能推出给您的用户子集(例如,选择加入测试者组的用户组),收集真实世界用例的反馈和错误报告。
    • 逐步将功能推广给越来越多的用户,并跟踪该功能对关键指标的影响(例如,如果用户有功能A和功能B,他们完成购物的可能性如何?)。
    • 在不重新部署或甚至不重启应用程序更改配置文件的情况下,关闭在生产中导致性能问题的功能。
    • 根据用户属性(如支付计划)授予某些功能的访问权限(例如:'黄金'计划的用户可以访问比'银色'计划用户更多的功能)。在不关闭所有内容的情况下,禁用应用程序的部分功能以方便维护。
  • LaunchDarkly为多种语言和技术提供功能标志SDK。查看我们的文档以获取完整列表。
  • 探索LaunchDarkly

依赖项

~25–42MB
~776K SLoC