Created
October 8, 2015 03:06
-
-
Save darron/26f0276420f7dd7bf303 to your computer and use it in GitHub Desktop.
Insert a whole bunch of data into Redis for some small load testing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require 'digest' | |
require 'redis' | |
redis = Redis.new | |
class Time | |
def to_ms | |
(self.to_f * 1000.0).to_i | |
end | |
end | |
text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel tempor libero. Mauris leo risus, tincidunt quis maximus et, finibus et ante. Cras consectetur quis odio nec tincidunt. Nunc consequat, lorem eget sodales vehicula, erat sapien suscipit eros, a commodo ipsum turpis quis metus. Donec eget sollicitudin purus, dictum bibendum elit. Maecenas et eros ut justo consequat tempus vel vel lorem. Maecenas semper auctor lacus, at ultricies velit semper ut. Sed iaculis erat tortor, semper sodales tortor cursus id. Aenean vestibulum est ligula, vel sodales sem scelerisque convallis. Cras sem elit, eleifend ultrices maximus id, laoreet ac urna. Integer arcu magna, rhoncus non purus vel, eleifend posuere mauris. In ornare ex velit. Maecenas eget elit ac risus pellentesque finibus. Donec sit amet est eget mi venenatis posuere eu vel est. " | |
subkeys = %W(metrics metric_api check_runs) | |
# Generate metric_keys. | |
metric_keys = [] | |
(1..200).each do | |
r = rand(1..1000000) | |
moment_in_time = Time.now | |
value = Digest::MD5.hexdigest (moment_in_time.to_ms * rand).to_s | |
metric_keys << value | |
end | |
metric_key = '' | |
metric_value = '' | |
(1..100000).each do | |
length = rand(1..5) | |
metric_key = "#{subkeys.sample}|v1|#{metric_keys.sample}" | |
metric_value = text * length | |
redis.lpush "#{metric_key}", "#{metric_value}" | |
redis.expire "#{metric_key}", 420 | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment