Skip to content

Instantly share code, notes, and snippets.

@laixintao
Created January 30, 2019 06:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save laixintao/f9af6fdd04194cd0974b9a0b48324b32 to your computer and use it in GitHub Desktop.
Save laixintao/f9af6fdd04194cd0974b9a0b48324b32 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
import redis
import random
import string
import time
COUNT = 1_000_000
r = redis.Redis(host="localhost", port=6379, db=0)
print("Generate data...")
scores = [random.randint(0, 100000) for _ in range(COUNT)]
names = [str(index)+ "".join(random.choice(string.ascii_letters) for _ in range(10)) for index in range(COUNT)]
print("Data prepared...")
start = time.time()
print("start at ", start)
for name, score in zip(names, scores):
r.zadd("test_zset", name, score)
end = time.time()
print("end at ", end)
print(f"Time cost for insert {COUNT} random data: {end-start}.")
start = time.time()
print("start at ", start)
for name in r.zrange("test_zset", 0, COUNT):
pass
end = time.time()
print("end at ", end)
print(f"Time cost for traverse {COUNT} random data: {end-start}.")
# OUTPUT
# Generate data...
# Data prepared...
# start at 1548828485.781387
# end at 1548828572.644263
# Time cost for insert 1000000 random data: 86.86287593841553.
# start at 1548828572.644307
# end at 1548828577.225177
# Time cost for traverse 1000000 random data: 4.580870151519775.
@laixintao
Copy link
Author

Test on

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment