diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-21 22:40:55 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-21 22:40:55 +0100 |
| commit | 5d8dfe892a2ea89f706ee140c3bdcfd89fe03fda (patch) | |
| tree | 1acdfa5220cd13b7be43a2a01368e80d306473ca /examples/redis-unstable/tests/helpers/gen_write_load.tcl | |
| parent | c7ab12bba64d9c20ccd79b132dac475f7bc3923e (diff) | |
| download | crep-5d8dfe892a2ea89f706ee140c3bdcfd89fe03fda.tar.gz | |
Add Redis source code for testing
Diffstat (limited to 'examples/redis-unstable/tests/helpers/gen_write_load.tcl')
| -rw-r--r-- | examples/redis-unstable/tests/helpers/gen_write_load.tcl | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/examples/redis-unstable/tests/helpers/gen_write_load.tcl b/examples/redis-unstable/tests/helpers/gen_write_load.tcl new file mode 100644 index 0000000..7b4975c --- /dev/null +++ b/examples/redis-unstable/tests/helpers/gen_write_load.tcl @@ -0,0 +1,51 @@ +# +# Copyright (c) 2009-Present, Redis Ltd. +# All rights reserved. +# +# Copyright (c) 2024-present, Valkey contributors. +# All rights reserved. +# +# Licensed under your choice of (a) the Redis Source Available License 2.0 +# (RSALv2); or (b) the Server Side Public License v1 (SSPLv1); or (c) the +# GNU Affero General Public License v3 (AGPLv3). +# +# Portions of this file are available under BSD3 terms; see REDISCONTRIBUTIONS for more information. +# + +source tests/support/redis.tcl + +set ::tlsdir "tests/tls" + +# Continuously sends SET commands to the server. If key is omitted, a random key +# is used for every SET command. The value is always random. +proc gen_write_load {host port seconds tls {key ""} {size 0} {sleep 0}} { + set start_time [clock seconds] + set r [redis $host $port 1 $tls] + $r client setname LOAD_HANDLER + catch {$r select 9} ;# select 9 will fail in cluster mode + + # fixed size value + if {$size != 0} { + set value [string repeat "x" $size] + } + + while 1 { + if {$size == 0} { + set value [expr rand()] + } + + if {$key == ""} { + $r set [expr rand()] $value + } else { + $r set $key $value + } + if {[clock seconds]-$start_time > $seconds} { + exit 0 + } + if {$sleep ne 0} { + after $sleep + } + } +} + +gen_write_load [lindex $argv 0] [lindex $argv 1] [lindex $argv 2] [lindex $argv 3] [lindex $argv 4] [lindex $argv 5] [lindex $argv 6] |
