Skip to content

Instantly share code, notes, and snippets.

@valdergallo
Last active August 12, 2020 19:45
Show Gist options
  • Save valdergallo/39c6d45fdb949ec13e8dcbc165fdbadf to your computer and use it in GitHub Desktop.
Save valdergallo/39c6d45fdb949ec13e8dcbc165fdbadf to your computer and use it in GitHub Desktop.
Redis as Python List
class RedisDB(object):
def __init__(self, group_name="locust", hostname="localhost", port=6379, db=0):
self.group_name = group_name
self.con = redis.Redis(host=hostname, port=port, db=db)
def append(self, pallet_id):
return self.con.sadd(self.group_name, pallet_id)
def get_random_item(self):
return self.con.srandmember(self.group_name)
def delete(self):
return self.con.delete(self.group_name)
def all(self):
return self.con.smembers(self.group_name)
def __iter__(self):
for i in self.all():
yield i
def __getitem__(self, index):
return list(self.all())[index]
def __len__(self):
return len(self.con.smembers(self.group_name))
def __repr__(self):
return "<RedisDB %s>" % self.group_name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment