mirror of
https://github.com/fluencelabs/redis
synced 2025-03-18 08:30:51 +00:00
improved random dataset creation in test: del, sunionstore, zunionstore
This commit is contained in:
parent
8b654e54c4
commit
b056ca39f2
@ -127,9 +127,23 @@ proc randomKey {} {
|
||||
}
|
||||
}
|
||||
|
||||
proc findKeyWithType {r type} {
|
||||
for {set j 0} {$j < 20} {incr j} {
|
||||
set k [$r randomkey]
|
||||
if {$k eq {}} {
|
||||
return {}
|
||||
}
|
||||
if {[$r type $k] eq $type} {
|
||||
return $k
|
||||
}
|
||||
}
|
||||
return {}
|
||||
}
|
||||
|
||||
proc createComplexDataset {r ops} {
|
||||
for {set j 0} {$j < $ops} {incr j} {
|
||||
set k [randomKey]
|
||||
set k2 [randomKey]
|
||||
set f [randomValue]
|
||||
set v [randomValue]
|
||||
randpath {
|
||||
@ -158,6 +172,8 @@ proc createComplexDataset {r ops} {
|
||||
$r zadd $k $d $v
|
||||
} {
|
||||
$r hset $k $f $v
|
||||
} {
|
||||
$r del $k
|
||||
}
|
||||
set t [$r type $k]
|
||||
}
|
||||
@ -175,11 +191,23 @@ proc createComplexDataset {r ops} {
|
||||
}
|
||||
{set} {
|
||||
randpath {$r sadd $k $v} \
|
||||
{$r srem $k $v}
|
||||
{$r srem $k $v} \
|
||||
{
|
||||
set otherset [findKeyWithType r set]
|
||||
if {$otherset ne {}} {
|
||||
$r sunionstore $k2 $k $otherset
|
||||
}
|
||||
}
|
||||
}
|
||||
{zset} {
|
||||
randpath {$r zadd $k $d $v} \
|
||||
{$r zrem $k $v}
|
||||
{$r zrem $k $v} \
|
||||
{
|
||||
set otherzset [findKeyWithType r zset]
|
||||
if {$otherzset ne {}} {
|
||||
$r zunionstore $k2 2 $k $otherzset
|
||||
}
|
||||
}
|
||||
}
|
||||
{hash} {
|
||||
randpath {$r hset $k $f $v} \
|
||||
|
Loading…
x
Reference in New Issue
Block a user