1 个版本 (0 个不稳定)
1.0.0-rc.1 | 2023年1月11日 |
---|
#1217 在 数据库接口
24KB
331 行
LaunchDarkly Rust 服务器端 SDK - 使用 redis 客户端进行 Redis 集成
此库为 Redis 提供持久化机制(数据存储),用于替代 LaunchDarkly Rust SDK 的默认内存数据存储。
它使用的 Redis API 实现是 redis。对于 Rust,还有其他 Redis 客户端实现;如果 LaunchDarkly SDK 的 Redis 集成使用了其他 Redis 客户端,它们将在单独的仓库中。
更多信息,请参阅: 使用持久化特征存储.
LaunchDarkly 概述
LaunchDarkly 是一个功能管理平台,每天为超过 1000 亿次功能标志提供服务,帮助团队更快地构建更好的软件。 今天开始使用 LaunchDarkly!
快速设置
这假设您已经安装了 LaunchDarkly Rust SDK。
- 导入 LaunchDarkly SDK 包和此库的包
use launchdarkly_server_sdk::{Client, ConfigBuilder, PersistentDataStoreBuilder};
use launchdarkly_server_sdk_redis::RedisPersistentDataStoreFactory;
use std::sync::Arc;
- 在配置 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
- launchdarkly.com 获取更多信息
- docs.launchdarkly.com 查看我们的文档和SDK参考指南
- apidocs.launchdarkly.com 查看我们的API文档
- launchdarkly.com/blog 查看最新产品更新
依赖项
~25–42MB
~776K SLoC