valkey的部署學習

济南小老虎發表於2024-04-22

valkey的部署學習


背景

因為Redis labs說自己被大廠薅羊毛薅的太猛了.
所以修改了 Redis 的開源協議.
並且收回了很多外部commiter的提交許可權.

導致開源社群很混亂. 
Linux基金會基於這種修改行為.
自己fork了redis 7.2.4的分支建立了
valkey 7.2.5 的版本

又是一出 mariadb和mysql應分支的故事.
所以想總結和簡單測試一下. valkey的使用. 

下載與編譯

https://github.com/valkey-io/valkey

直接release 下載就可以了.

安裝方式也很簡單.

編譯

tar -zxvf valkey-7.2.5.tar.gz
cd valkey-7.2.5
make 就可以安裝了. 

可以複製部分檔案過去.
命令為:
mkdir -p /opt/redis/
然後再當前目錄下執行.

for i in `find -iname valkey-*  |egrep -v "c$|d$|o$|tcl$"`; do scp $i  /opt/redis/ ; done
scp valkey.conf /opt/redis/

安裝與簡單驗證

./valkey-server  valkey.conf
2969729:C 18 Apr 2024 11:14:10.969 # WARNING Memory overcommit must be enabled! Without it, 
a background save or replication may fail under low memory condition. 
Being disabled, it can also cause failures without low memory condition, s
ee https://github.com/jemalloc/jemalloc/issues/1328.
 To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf 
 and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
2969729:C 18 Apr 2024 11:14:10.970 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo
2969729:C 18 Apr 2024 11:14:10.970 * Valkey version=7.2.5, bits=64, commit=00000000, modified=0, pid=2969729, just started
2969729:C 18 Apr 2024 11:14:10.970 * Configuration loaded
2969729:M 18 Apr 2024 11:14:10.970 * monotonic clock: POSIX clock_gettime
                .+^+.
            .+#########+.
        .+########+########+.           Valkey 7.2.5 (00000000/0) 64 bit
    .+########+'     '+########+.
 .########+'     .+.     '+########.    Running in standalone mode
 |####+'     .+#######+.     '+####|    Port: 6379
 |###|   .+###############+.   |###|    PID: 2969729
 |###|   |#####*'' ''*#####|   |###|
 |###|   |####'  .-.  '####|   |###|
 |###|   |###(  (@@@)  )###|   |###|          https://valkey.io
 |###|   |####.  '-'  .####|   |###|
 |###|   |#####*.   .*#####|   |###|
 |###|   '+#####|   |#####+'   |###|
 |####+.     +##|   |#+'     .+####|
 '#######+   |##|        .+########'
    '+###|   |##|    .+########+'
        '|   |####+########+'
             +#########+'
                '+v+'

2969729:M 18 Apr 2024 11:14:10.970 # Warning: Could not create server TCP listening socket 127.0.0.1:6379: bind: Address already in use
2969729:M 18 Apr 2024 11:14:10.970 # Failed listening on port 6379 (tcp), aborting.

說明

跟redis完全一樣.. 埠和提示資訊也一樣..
關了redis之後再使用. 

效能比較

伺服器資訊:
Neoverse-N1
2c/8g的虛擬機器. 阿里雲

Redis版本 7.2.3 
valkey版本 7.2.5

編譯時間:
redis: 2m0.873s
valkey:2m0.984s

簡單效能對比
全部使用預設值,不做調優進行驗證.
benchmark

./redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -c 20 -q

簡單簡單指令 Redis效能比較好
複雜一點的指令 valkey的比較好一些. 

總體來說 valkey 比微軟的哪個靠譜多了..那個我們的應用啟動都啟動不起來

benchmark結果

型別 PING SET GET INCR HSET MSET
Redis7.2.3 164203 162074 164203 162866 160771 143884
valkey7.2.5 162601 161030 162337 164203 162074 150375

相關文章