📘

RedisからフォークしたValkeyを使ってみた

2024/05/09に公開

背景

Linux Foundationは2024年3月28日、Redisに代わるオープンソースの新しいインメモリキャッシュストアシステム「Valkey」のコミュニティを立ち上げ、開発を行うことを発表しました。このプロジェクトはRedisのライセンス変更に対応して発行したもので、BSD3条項ライセンスの下でオープンソースとしてプロジェクトの使用と配布を続けていくが発表されています。AWS、Google Cloudなどのクラウド事業者もサポートを表明しており、徐々にクラウドのRedisを使ったサービスはValkeyに変更されていくものと推測されます。
そこで今回はValkeyをDockerで立ち上げ、簡単に動かしてみたいと思います。

構築

  1. valkeyコンテナの立ち上げ
    docker run --name valkey -d valkey/valkey:7.2.5
    4d9aa8ab26065242a79c7376cc970eac1bad5ffe98cf4367076b06c11e42b8eb
  1. valkeyコンテナのvalkey-cliコマンドにアクセス
    docker exec -it valkey valkey-cli
    127.0.0.1:6379> 
  1. redisのコマンドを実行
  • データの設定と取得
127.0.0.1:6379> set test 1
OK
127.0.0.1:6379> get test
"1"
127.0.0.1:6379> set test 2
OK
127.0.0.1:6379> get test
"2"
  • セット操作
127.0.0.1:6379> SADD test1 1
(integer) 1
127.0.0.1:6379> SADD test1 2
(integer) 1
127.0.0.1:6379> SMEMBERS test1
1) "1"
2) "2"
  • ハッシュ操作
127.0.0.1:6379> HSET test2 field 0
(integer) 1
127.0.0.1:6379> HSET test2 field1 1
(integer) 1
127.0.0.1:6379> HSET test2 field2 2
(integer) 1
127.0.0.1:6379> HGETALL  test2
1) "field"
2) "0"
3) "field1"
4) "1"
5) "field2"
6) "2"
  • キーの削除
127.0.0.1:6379> DEL key test
(integer) 1
127.0.0.1:6379> DEL key test1
(integer) 1
127.0.0.1:6379> DEL key test2
(integer) 1
  • キーの存在確認
127.0.0.1:6379> EXISTS test
(integer) 0 //存在なし
127.0.0.1:6379> set test 1
OK
127.0.0.1:6379> EXISTS test
(integer) 1 //存在あり

Redisの主要なコマンドは問題なく使えることが確認できました。

最後に

おそらくここ数年以内にValkeyがクラウド上のサービスに乗ってくることは確実かなと思います。今はフォークし、redisの文字列がvalkeyに変更されただけであるが、今後は独自の開発も行うことも考えられるため今後のプロジェクトの行方を注視していく必要があると考えてます。

参考

https://www.publickey1.jp/blog/24/redisvalkey_725awsgoogleoracleherokualibaba_cloud.html
https://gihyo.jp/article/2024/03/valkey

Discussion