Skip to content

added Try Valkey support #255

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 23 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
658dbd8
added Try Valkey support
zarkash-aws May 4, 2025
a2bf6d7
"refactored style to a separate css file"
zarkash-aws May 28, 2025
7d59b25
"replaced test cdn with production cdn"
zarkash-aws May 28, 2025
d10a515
feat(ui): update hero background image (#244)
phiro56 Apr 22, 2025
17b3620
Update website for version 7.2.9 (#245)
madolson Apr 23, 2025
703b904
Update website for version 8.0.3 (#247)
madolson Apr 23, 2025
19eb359
Update website for version 8.1.1 (#246)
madolson Apr 23, 2025
52b854b
Bug fix: improve responsive layout of homepage documentation tiles (#…
phiro56 Apr 25, 2025
816bbaf
feat: redesign footer with social media icons and links (#240)
phiro56 Apr 28, 2025
812c96a
Adding functionality for the JSON module to have commands displayed o…
Nikhil-Manglore Apr 29, 2025
c54626b
Added JSON to the command initialization script (#252)
Nikhil-Manglore Apr 29, 2025
13bd559
Adding an ACL section for each command on their command page
zackcam May 8, 2025
bc71c7e
feat: restyle Commands Page with new layout and search functionality …
phiro56 May 9, 2025
a394464
feat: restyle Topics Page layout and components (#248)
phiro56 May 9, 2025
6d42284
[Blog] Upgrade Stories Volume 1 (#254)
pnbrown May 14, 2025
582bc4f
Blog post describing updates to Valkey Modules Rust SDK (#250)
dmitrypol May 20, 2025
f915012
Adding implicit ACL categories to be displayed on website (#258)
zackcam May 22, 2025
ef093c4
add AZ_AFFINITY_REPLICAS_AND_PRIMARY read strategy example and diagra…
mo-amzn May 26, 2025
57f5330
[Blog] Performance Optimization Methodology for Valkey - Part 1 (#262)
lipzhu May 27, 2025
a2d5e0f
Added valkey-search support (#259)
eifrah-aws May 27, 2025
f1c9975
feat: add community page with navigation updates (#264)
phiro56 Jun 4, 2025
a07e9c8
Spelling (#267)
jsoref Jun 4, 2025
5f6f813
page styling fixes
zarkash-aws Jun 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion .github/workflows/zola-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,23 @@ jobs:
repository: valkey-io/valkey-bloom
path: valkey-bloom

- name: Checkout valkey-search
uses: actions/checkout@v4
with:
repository: valkey-io/valkey-search
path: valkey-search

- name: Checkout valkey-json
uses: actions/checkout@v4
with:
repository: valkey-io/valkey-json
path: valkey-json

- name: Init commands, topics and clients
run: |
cd website
./build/init-topics-and-clients.sh ../valkey-doc/topics ../valkey-doc/clients
./build/init-commands.sh ../valkey-doc/commands ../valkey/src/commands ../valkey-bloom/src/commands
./build/init-commands.sh ../valkey-doc/commands ../valkey/src/commands ../valkey-bloom/src/commands ../valkey-json/src/commands ../valkey-search/src/commands

- name: Build only
uses: shalzz/[email protected]
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@ _data/groups.json
_data/resp2_replies.json
_data/resp3_replies.json
_data/modules.json
.vscode/*
.idea/*
tmp/*
4 changes: 2 additions & 2 deletions CONTRIBUTING-BLOG-POST.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The contribution model is lightweight, transparent, and uses well-understood ope

## Step 0: Setup

Before you begin, it’s a good idea to setup an environment to write, test, and contribute your blog post.
Before you begin, it’s a good idea to set up an environment to write, test, and contribute your blog post.
First, [fork the website repo](https://github.com/valkey-io/valkey-io.github.io), then clone the website to your local environment.
The general workflow is to write your post locally in a branch, confirm that it looks the way you want, then contribute your changes as a pull request.

Expand Down Expand Up @@ -74,7 +74,7 @@ title= "Using Valkey for mind control experiments"
# `date` is when your post will be published.
# For the most part, you can leave this as the day you _started_ the post.
# The maintainers will update this value before publishing
# The time is generally irrelvant in how Valkey published, so '01:01:01' is a good placeholder
# The time is generally irrelevant in how Valkey published, so '01:01:01' is a good placeholder
date= 2024-07-01 01:01:01
# 'description' is what is shown as a snippet/summary in various contexts.
# You can make this the first few lines of the post or (better) a hook for readers.
Expand Down
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Valkey.io website

This repo contains the source for the valkey.io website (build scripts, template, blog posts, stylesheets, etc.).
The build integrates content from [`valkey-io/valkey-doc`](https://github.com/valkey-io/valkey-doc) and the commands definitions from [`valkey-io/valkey`](https://github.com/valkey-io/valkey) and [`valkey-io/valkey-bloom`](https://github.com/valkey-io/valkey-bloom) (see [Build Locally](#build-locally) below for more details).
The build integrates content from [`valkey-io/valkey-doc`](https://github.com/valkey-io/valkey-doc) and the commands definitions from [`valkey-io/valkey`](https://github.com/valkey-io/valkey), [`valkey-io/valkey-bloom`](https://github.com/valkey-io/valkey-bloom), and [`valkey-io/valkey-json`](https://github.com/valkey-io/valkey-json) (see [Build Locally](#build-locally) below for more details)

## Contributing

Expand Down Expand Up @@ -29,7 +29,7 @@ Changes to external content (command reference, documentation topics) require a
## Building additional content

**By default, the site will build without documentation topics, command reference, or the clients page.**
The content for documentation topics and the clients page are stored within the `valkey-io/valkey-doc` repo.
The content for documentation topics and the clients page are stored within the `valkey-io/valkey-doc` repo.
The content for the command reference page is in the `valkey-io/valkey` repo.

If you want to build the site with this content, you'll need to have a local copy of `valkey-io/valkey-doc` and `valkey-io/valkey` _outside_ of this repo.
Expand Down Expand Up @@ -64,7 +64,8 @@ Commit your changes to your local copy of `valkey-io/valkey-doc`.
### Building the command reference

The command reference (i.e. `/commands/set/`, `/commands/get/`, `/commands/lolwut/`) sources information from `valkey-io/valkey`, `valkey-io/valkey-bloom`, and `valkey-io/valkey-doc`.
`valkey-io/valkey` and `valkey-io/valkey-bloom` provides the command metadata (items like computational complexity, version history, arguments, etc) whilst `valkey-io/valkey-doc` provides the command description and the command reply.
`valkey-io/valkey`, `valkey-io/valkey-bloom`, `valkey-io/valkey-json` and `valkey-io/valkey-search` provides the command metadata (items like computational complexity, version history, arguments, etc)
whilst `valkey-io/valkey-doc` provides the command description and the command reply.

```mermaid
flowchart TD
Expand All @@ -75,13 +76,16 @@ flowchart TD
H --> J[Files: /resp2_replies.json,<br/>/resp3_replies.json] --> Z[Command Reply]
```

Let's say that this repo and your local copy of `valkey-io/valkey-doc`, `valkey-io/valkey-bloom` and `valkey-io/valkey` reside in the same directories.
Let's say that this repo and your local copy of `valkey-io/valkey-doc`, `valkey-io/valkey-bloom`, `valkey-io/valkey-json`, `valkey-io/valkey-search`
and `valkey-io/valkey` reside in the same directories.

First, stop the `zola serve` process if you're running it.
From the root directory of this repo run:

```shell
# You should only need to run this once or when you add a new command.
./build/init-commands.sh ../valkey-doc/commands ../valkey/src/commands ../valkey-bloom/src/commands
./build/init-commands.sh ../valkey-doc/commands ../valkey/src/commands \
../valkey-bloom/src/commands ../valkey-json/src/commands ../valkey-search/src/commands
```

Then, restart Zola.
Expand Down
1 change: 1 addition & 0 deletions build-json-command-json
27 changes: 22 additions & 5 deletions build/init-commands.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@

# first check to make sure there are arguments
if [ -z "$1" ]; then
echo "You must supply a path to the command docs as the first argument"
echo "You must supply a path to the command docs as the first argument"
exit 1
fi
fi

if [ -z "$2" ]; then
echo "You must supply a path to the command json as the second argument"
echo "You must supply a path to the command json as the second argument"
exit 1
fi

# check for validity of these agruments as paths
# check for validity of these arguments as paths
if [ ! -d "$1" ]; then
echo "The command doc directory must exist and be a valid path"
exit 1
Expand All @@ -29,19 +29,36 @@ if [ ! -d "$3" ]; then
exit 1
fi

if [ ! -d "$4" ]; then
echo "The JSON module command JSON directory must exist and be a valid path"
exit 1
fi

if [ ! -d "$5" ]; then
echo "The Search module command JSON directory must exist and be a valid path"
exit 1
fi

ln -s $1 ./build-command-docs
ln -s $2 ./build-command-json
ln -s $3 ./build-bloom-command-json
ln -s $4 ./build-json-command-json
ln -s $5 ./build-search-command-json

for fname in $(find $1 -maxdepth 1 -iname "*.md")
do
base=${fname##*/}
command=${base%.*}
command_upper=$(awk '{ print toupper($0) }' <<< $command)
if [[ "$command" != "index" ]]; then
if [[ "$command" != "index" ]]; then
if [ -f "$2/$command.json" ]; then
metadata_path="/commands/$command.json in the 'valkey' repo"
elif [ -f "$3/$command.json" ]; then
metadata_path="/commands/$command.json in the 'valkey-bloom' repo"
elif [ -f "$4/$command.json" ]; then
metadata_path="/commands/$command.json in the 'valkey-json' repo"
elif [ -f "$5/$command.json" ]; then
metadata_path="/commands/$command.json in the 'valkey-search' repo"
fi
cat << EOF > "./content/commands/$command.md"
+++
Expand Down
10 changes: 5 additions & 5 deletions build/init-topics-and-clients.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@

# first check to make sure there are arguments
if [ -z "$1" ]; then
echo "You must supply a path to the topics as the first argument"
echo "You must supply a path to the topics as the first argument"
exit 1
fi
fi

if [ -z "$2" ]; then
echo "You must supply a path to the clients directory as the first argument"
echo "You must supply a path to the clients directory as the second argument"
exit 1
fi
fi

# check for validity of these agruments as paths
# check for validity of these arguments as paths
if [ ! -d "$1" ]; then
echo "The topics directory must exist and be a valid path"
exit 1
Expand Down
2 changes: 2 additions & 0 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ highlight_code = true
command_description_path = "../build-command-docs/"
command_json_path = "../build-command-json/"
command_bloom_json_path = "../build-bloom-command-json/"
command_json_json_path = "../build-json-command-json/"
command_search_json_path = "../build-search-command-json/"
client_json_path = "../build-clients/"
doc_topic_path = "../build-topics/"

Expand Down
8 changes: 8 additions & 0 deletions content/authors/guowangy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Wangyang Guo
extra:
photo: '/assets/media/authors/guowangy.jpg'
github: guowangy
---

Wangyang Guo is a Software Performance Optimization Engineer at Intel. He specializes in identifying and resolving performance bottlenecks in complex software systems. His contributions include significant performance enhancements to Valkey, the Linux kernel, glibc, and ClickHouse. His expertise spans database systems, low-level system optimization, and scalable distributed applications.
8 changes: 8 additions & 0 deletions content/authors/lipzhu.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Lipeng Zhu
extra:
photo: '/assets/media/authors/lipzhu.jpg'
github: lipzhu
---

Lipeng Zhu is a Software Performance Optimization Engineer at Intel. His contributions to open-source software include performance enhancements for Valkey, the Linux kernel, GCC/libgfortran, and Chromium/libwebp2. His work focuses on identifying and resolving performance bottlenecks through advanced profiling techniques and architectural optimizations specifically designed for modern processor architectures.
8 changes: 8 additions & 0 deletions content/authors/muhammadawawdi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Muhammad Awawdi
extra:
photo: '/assets/media/authors/muhammadawawdi.jpeg'
github: muhammad-awawdi-amazon
---

Muhammad is a software engineer at AWS ElastiCache, building Valkey GLIDE and large-scale distributed systems. When he’s not building faster tech, he’s lifting weights, grilling barbecue, or geeking out over the latest innovations.
8 changes: 8 additions & 0 deletions content/authors/nigel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Nigel Brown
extra:
photo: '/assets/media/authors/nigel.jpg'
github: pnbrown
---

nigel is a Senior Developer Advocate on the Valkey project. He was drawn to the craft of software engineering because of the agency it provides people to build and interact with worlds of their own creation. He focuses on Cloud Native technologies and his passions in technology are community building, High Performance Computing, and free and open source software (and hardware).
2 changes: 1 addition & 1 deletion content/authors/rdias.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ extra:
github: rjd15372
---

Ricardo is a principal software engineer at Percona where he works as contributor to the Valkey project. Ricardo has been working in distributed storage systems for many years, but his interests are not limited to distribtued systems, he also enjoys designing and implementing lock-free data structures, as well as, developing static code analyzers. In his free time, he's a family guy and also manages a roller hockey club.
Ricardo is a principal software engineer at Percona where he works as contributor to the Valkey project. Ricardo has been working in distributed storage systems for many years, but his interests are not limited to distributed systems, he also enjoys designing and implementing lock-free data structures, as well as, developing static code analyzers. In his free time, he's a family guy and also manages a roller hockey club.

6 changes: 3 additions & 3 deletions content/blog/2024-04-26-modules-101.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ int ValkeyModule_OnLoad(ValkeyModuleCtx *ctx, ValkeyModuleString **argv, int arg

Here we are calling `ValkeyModule_OnLoad` C function (required by Valkey) to initialize `module1` using `ValkeyModule_Init`.
Then we use `ValkeyModule_CreateCommand` to create a Valkey command `hello` which uses C function `hello` and returns `world1` string.
In future blog posts we will expore these areas at greater depth.
In future blog posts we will explore these areas at greater depth.

Now we need to update `src/modules/Makefile`

Expand All @@ -68,7 +68,7 @@ This will compile our module in the `src/modules` folder.
We will create a new Rust package by running `cargo new --lib module2` in bash.
Inside the `module2` folder we will have `Cargo.toml` and `src/lib.rs` files.
To install the valkey-module SDK run `cargo add valkey-module` inside `module2` folder.
Alternativley we can add `valkey-module = "0.1.0` in `Cargo.toml` under `[dependencies]`.
Alternatively we can add `valkey-module = "0.1.0` in `Cargo.toml` under `[dependencies]`.
Run `cargo build` and it will create or update the `Cargo.lock` file.

Modify `Cargo.toml` to specify the crate-type to be "cdylib", which will tell cargo to build the target as a shared library.
Expand Down Expand Up @@ -173,7 +173,7 @@ OK

Please stay tuned for more articles in the future as we explore the possibilities of Valkey modules and where using C or Rust makes sense.

## Usefull links
## Useful links

* [Valkey repo](https://github.com/valkey-io/valkey)
* [Valkey Rust SDK](https://github.com/valkey-io/valkeymodule-rs)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Valkey is a high-performance key/value datastore that supports workloads such as

[Bitnami](https://bitnami.com/) offers a number of secure, up-to-date, and easy to deploy charts for a number of popular open source applications.

This blog will serve as a walk-through on how you can deploy and use the [Bitnami Helm chart for Valkey](https://github.com/bitnami/charts/tree/main/bitnami/valkey).
This blog will serve as a walkthrough on how you can deploy and use the [Bitnami Helm chart for Valkey](https://github.com/bitnami/charts/tree/main/bitnami/valkey).

# Assumptions and prerequisites

Expand Down
4 changes: 2 additions & 2 deletions content/blog/2024-07-07-unlock-one-million-rps.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ title= "Unlock 1 Million RPS: Experience Triple the Speed with Valkey"
# `date` is when your post will be published.
# For the most part, you can leave this as the day you _started_ the post.
# The maintainers will update this value before publishing
# The time is generally irrelvant in how Valkey published, so '01:01:01' is a good placeholder
# The time is generally irrelevant in how Valkey published, so '01:01:01' is a good placeholder
date= 2024-08-05 01:01:01
# 'description' is what is shown as a snippet/summary in various contexts.
# You can make this the first few lines of the post or (better) a hook for readers.
# Aim for 2 short sentences.
description= "Learn about the new performnace improvements in Valkey 8 which reduces cost, improves latency and makes our environment greener."
description= "Learn about the new performance improvements in Valkey 8 which reduces cost, improves latency and makes our environment greener."
# 'authors' are the folks who wrote or contributed to the post.
# Each author corresponds to a biography file (more info later in this document)
authors= [ "dantouitou", "uriyagelnik"]
Expand Down
2 changes: 1 addition & 1 deletion content/blog/2024-07-31-valkey-8-0-0-rc1.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title= "Valkey 8.0: Delivering Enhanced Performance and Reliability"
# `date` is when your post will be published.
# For the most part, you can leave this as the day you _started_ the post.
# The maintainers will update this value before publishing
# The time is generally irrelvant in how Valkey published, so '01:01:01' is a good placeholder
# The time is generally irrelevant in how Valkey published, so '01:01:01' is a good placeholder
date= 2024-08-02 01:01:01
# 'description' is what is shown as a snippet/summary in various contexts.
# You can make this the first few lines of the post or (better) a hook for readers.
Expand Down
2 changes: 1 addition & 1 deletion content/blog/2024-08-29-valkey-memory-efficiency-8-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,4 +137,4 @@ So, the drop in percentage is approximately **20.63% in overall memory usage on
## Conclusion

Through the memory efficiency achieved by introducing dictionary per slot and key embedding into dictionary entry, users should have additional capacity to store more keys per node in Valkey 8.0 (up to 20%, but it will vary based on the workload). For users, upgrading from Valkey 7.2 to Valkey 8.0, the improvement should be observed automatically and no configuration changes are required.
Give it a try by spinning up a [Valkey cluster](https://valkey.io/download/) and join us in the [community](https://github.com/valkey-io/valkey/) to provide feedback. Further, there is an ongoing discussion around overhauling the main dictionary with a more compact memory layout and introduce an open addressing scheme which will significantly improve memory efficiency. More details can be found [here](https://github.com/valkey-io/valkey/issues/169).
Give it a try by spinning up a [Valkey cluster](https://valkey.io/download/) and join us in the [community](https://github.com/valkey-io/valkey/) to provide feedback. Further, there is an ongoing discussion around overhauling the main dictionary with a more compact memory layout and introduce an open addressing scheme which will significantly improve memory efficiency. More details can be found in [Issue 169: Re-thinking the main hash table](https://github.com/valkey-io/valkey/issues/169).
Loading