One thing that our TempMessenger is missing is accountability. We have no idea which users are posting what, which is fine for an anonymous messaging application (and if that is what you want, then skip this section altogether). To do this, when we store our messages, we will want to also store the email of the user who sent it.
Let's start by revisiting the messages.py
dependency. Update save_message
in our RedisClient
to the following:
def save_message(self, email, message): message_id = uuid4().hex payload = { 'email': email, 'message': message, } self.redis.hmset(message_id, payload) self.redis.pexpire(message_id, MESSAGE_LIFETIME) return message_id
The first thing you'll notice is that, in order to call save_message
, we now require the user's email.
What we have also done here is to change the format of the data we are storing in Redis from a string to a hash. Redis hashes allow us to store dictionary...