Redis闭源了?来亚马逊云科技云科技上用开源省钱的Valkey(下)

Valkey内存存储是什么?

去年10月亚马逊云科技宣布其缓存服务Amazon ElastiCache已支持Valkey 7.2版本,并推出更低成本的Serverless版本和自托管集群方案。与其他数据库引擎相比,Valkey的Serverless版本的价格大幅降低33%,而子托管集群的价格可以降低20%。当大家创建ElastiCache Serverless for Valkey时,可以在不到一分钟的时间内即可创建完成,使用价格低至低至6 美元/月。

Valkey是一个开源的高性能键值数据存储系统,由Linux基金会管理,Linux基金会管理长久以来由40多家大型全球企业的支持。Valkey是Redis OSS闭源后的直接替代品,同样由Redis OSS的社区开发者开发和维护,自2024年3月项目启动以来,Valkey已经在业界被广泛使用。亚马逊云科技也在积极为Valkey项目做出贡献。通过此次发布,大家不仅可以继续使用开源技术享受低成本的优势,还可以充分利用ElastiCache拥有的13年以上的运营经验、安全性和可靠性,获得亚马逊强大的完全托管服务的体验。

为连接到 ElastiCache 无服务器 Valkey 缓存设置 EC2

ElastiCache 可以通过 Amazon 弹性计算云(Amazon EC2)实例访问,无论该实例位于同一 Amazon 虚拟私有云(Amazon VPC)中,还是通过 VPC 对等连接访问位于不同 Amazon VPC 中的 EC2 实例。

使用 “Getting started with EC2” 创建 EC2 实例。ElastiCache 无服务器 Valkey 缓存同时使用端口 6379 和端口 6380。为了能够成功从大家的 EC2 实例连接并执行 Valkey 命令,大家的安全组必须根据需要允许访问这些端口。

下载并设置 valkey-cli

连接到大家的 EC2 实例,并通过运行以下命令下载 valkey-cli 工具。

sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y 
wget https://github.com/valkey-io/valkey/archive/refs/tags/7.2.7.tar.gz 
tar xvzf 7.2.7.tar.gz 
cd valkey-7.2.7/ 
make BUILD_TLS=yes install

关于如何使用 valkey-cli 连接并对 Valkey 引擎执行命令的详细说明,请参阅 valkey-cli 文档。安装 valkey-cli 时,必须构建对 TLS 的支持。只有在启用 TLS 的情况下,才能访问 ElastiCache 无服务器 Valkey 缓存。

连接到 Valkey 缓存进行读写

要连接到 ElastiCache 无服务器 Valkey 缓存,请使用 AWS CLI 命令 describe-serverless-caches 获取新无服务器缓存的端点。大家将会找到两个端点。

aws elasticache describe-serverless-caches \
--serverless-cache-name ec-valkey-serverless \
--region us-east-1 
            "Endpoint": {
                "Address": "ec-valkey-serverless-xxx.cache.amazonaws.com",
                "Port": 6379
            },
            "ReaderEndpoint": {
                "Address": "ec-valkey-serverless-xxx.cache.amazonaws.com",
                "Port": 6380
            }

使用 valkey-cli 工具连接到 ElastiCache 无服务器 Valkey 缓存。

valkey-cli -h ec-valkey-serverless-xxx.cache.amazonaws.com -p 6379 -c --tls

-h = 主机名
-p = 端口
-c = 集群模式
–tls = 启用 TLS 的集群

现在,大家已准备好对 ElastiCache 无服务器 Valkey 缓存执行基本的 GET 和 SET 操作。下面是一个 HSET 操作示例,用于在 Valkey 中创建 HASH 对象。Valkey 哈希是一种数据结构,用于存储字段-值对的集合。当大家需要表示对象或在单个实体中存储相关数据(例如,一个包含多个属性的用户资料,如姓名、年龄和电子邮件)时,哈希非常有用。

ec-valkey-serverless-xxx.cache.amazonaws.com:6379> hset car:1 make ferrari model sf90spider year 2024 engine "4.0 L V8" horsepower 769hp transmission "8-speed auto" price 580000
(integer) 7
ec-valkey-serverless-xxx.cache.amazonaws.com:6379>

这将创建一个 Hash 对象 car:1,其属性包括 make、model、year、engine、horsepower、transmission 和 price。

现在,大家可以使用 HMGET 或 HGETALL 操作来检索单个或所有字段值对。

ec-valkey-serverless-xxx.cache.amazonaws.com:6379> HMGET car:1 make model price
1) "ferrari"
2) "sf90spider"
3) "580000"
ec-valkey-serverless-xxx.cache.amazonaws.com:6379>

从 ElastiCache for Redis OSS 升级到 ElastiCache for Valkey

如果大家是 ElastiCache for Redis OSS 的现有用户,大家可以在零停机时间内快速升级到 ElastiCache for Valkey。下面的示例显示了一个现有的 ElastiCache for Redis OSS 缓存,准备升级为 ElastiCache for Valkey 缓存。

1. 在 ElastiCache 控制台中,通过从导航窗格中选择 Redis OSS 缓存,然后选择 Modify 来启动升级过程。

2. 在 “Modify ElastiCache” 窗口中,在 “Cluster settings” 下,大家将看到多个 Engine 选项,包括 Redis OSS 和 Valkey。选择 Valkey 作为引擎选项,并选择 Preview Changes。

3. 下一屏将显示修改摘要。选择 “Apply Immediately” 下的 Yes 来确认大家将引擎从 Redis OSS 更改为 Valkey,然后选择 Modify。选择 Modify 后,会出现通知 “The action to modify the cluster was initiated successfully”。

4.大家现有的 ElastiCache for Redis OSS 缓存的状态将变为 “Modifying”。

5.. 升级成功后,elasticache-redisoss-cache-cluster 将不再出现在 Redis OSS 缓存下,而是出现在 Valkey 缓存下。

6.在最小的应用中断下,大家已成功将引擎从 Redis OSS 升级到 Valkey。

清理

为了保持最小权限原则并避免产生未来的费用,请删除大家在本文中创建的资源。删除 ElastiCache 集群(有关更多信息,请参阅删除集群)和 EC2 实例(delete-instance)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值