Skip to content

Commit d804da9

Browse files
committed
perf: use msgspec instead of json.dumps or json.loads
1 parent 7e3ea12 commit d804da9

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

server/databases/redis/wrapper.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from json import dumps, loads
21
from typing import AsyncIterator, Iterator, NamedTuple, TypedDict
32

3+
from msgspec.json import decode, encode
44
from numpy import float32
55
from numpy.typing import NDArray
66

@@ -168,7 +168,7 @@ async def save_messages(
168168
finally:
169169
answer_to_save: Message = {'role': 'assistant', 'content': ''.join(answer_accumulator)}
170170
message_history.append(answer_to_save)
171-
await self.redis.set(f'chat:{chat_id}', dumps(message_history))
171+
await self.redis.set(f'chat:{chat_id}', encode(message_history))
172172

173173
async def get_messages(self, chat_id: str) -> list[Message]:
174174
"""
@@ -185,7 +185,7 @@ async def get_messages(self, chat_id: str) -> list[Message]:
185185
messages (list[Message]) : the messages
186186
"""
187187
messages_json: str | None = await self.redis.get(f'chat:{chat_id}')
188-
return [] if not messages_json else loads(messages_json)
188+
return [] if not messages_json else decode(messages_json, type=list[Message])
189189

190190
async def get_chat_id(self, key: str) -> str | None:
191191
"""

0 commit comments

Comments
 (0)