1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| import redis
import time
class Message(object):
"""使用散列键存储微博信息"""
def __init__(self, client):
self.client = client
def create(self, author_id, content, origin_message_id=None):
"""存储一条微博,并返回微博ID和时间"""
message_id = IdGenerator("weibo::message::ids", self.client).gen()
key = "weibo::message::" + str(message_id)
weibo_timestamp = int(time.time())
# origin_message_id 被转发微博ID,如果为空这条微博就是一条普通的微博,否则就是转发微博
if origin_message_id is None:
self.client.hmset(key, {"id": message_id, "author_id": author_id, "time": weibo_timestamp, "content": content})
else:
self.client.hmset(key, {"id": message_id, "author_id": author_id, "time": weibo_timestamp, "content": content, "origin_message_id": origin_message_id})
return message_id, weibo_timestamp
def get_by_id(self, message_id):
"""根据微博ID获取微博信息"""
message_key = "weibo::message::" + str(message_id)
return self.client.hgetall(message_key)
if __name__ == "__main__":
redis_cliet = redis.StrictRedis()
msg = Message(redis_client)
message_id, weibo_timestamp = msg.create(10086, "hello world")
print(msg.get_by_id(message_id))
|