1
0
Fork 0
mirror of https://github.com/dragonflydb/dragonfly.git synced 2024-12-14 11:58:02 +00:00
dragonflydb-dragonfly/tests/integration/generate_sets.py
Kostas Kyrimis 7944af3c62
feat: Add black formatter to the project (#1544)
Add black formatter and run it on pytests
2023-07-17 13:13:12 +03:00

51 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python3
import argparse
import random
import string
import redis as rclient
import uuid
import time
def fill_set(args, redis: rclient.Redis):
for j in range(args.num):
token = uuid.uuid1().hex
# print(token)
key = f"USER_OTP:{token}"
arr = []
for i in range(30):
otp = "".join(random.choices(string.ascii_uppercase + string.digits, k=12))
arr.append(otp)
redis.execute_command("sadd", key, *arr)
def fill_hset(args, redis):
for j in range(args.num):
token = uuid.uuid1().hex
key = f"USER_INFO:{token}"
phone = f"555-999-{j}"
user_id = "user" * 5 + f"-{j}"
redis.hset(key, "phone", phone)
redis.hset(key, "user_id", user_id)
redis.hset(key, "login_time", time.time())
def main():
parser = argparse.ArgumentParser(description="fill hset entities")
parser.add_argument("-p", type=int, help="redis port", dest="port", default=6380)
parser.add_argument("-n", type=int, help="number of keys", dest="num", default=10000)
parser.add_argument(
"--type", type=str, choices=["hset", "set"], help="set type", default="hset"
)
args = parser.parse_args()
redis = rclient.Redis(host="localhost", port=args.port, db=0)
if args.type == "hset":
fill_hset(args, redis)
elif args.type == "set":
fill_set(args, redis)
if __name__ == "__main__":
main()