W porównaniu, które tutaj umieściłeś, po prostu mierzysz, ile czasu zajmuje Pythonowi powiązanie nowej nazwy z wartością w drugim przypadku. Nie dziwi mnie więc, że jest to znacznie szybsze niż komunikowanie się z innym procesem (Redis). Wydaje mi się, że zaskakuje mnie to, że rozważyłbyś uzyskanie wartości z Redis, jeśli istnieje opcja, aby po prostu zachować ją w pamięci.
Musisz więc w pierwszej kolejności wyjaśnić, dlaczego używasz Redis. Zawsze będzie wolniejszy niż pamięć w procesie, nie jest do tego potrzebny test porównawczy. Musisz zapytać „dlaczego nie używam tylko list i słowników Pythona”? Istnieje kilka prawidłowych odpowiedzi:twoje dane są zbyt duże, aby zmieścić się w pamięci, potrzebujesz funkcji specyficznych dla pamięci podręcznej, takich jak zezwolenie na znikanie wartości po pewnym czasie, lub chcesz ich użyć do IPC lub trwałości. Gdy już poznasz odpowiedź tutaj, będzie to miało wpływ na analizę porównawczą, którą chcesz przeprowadzić. A pytanie będzie bardziej jak „Jak uzyskać korzyści/funkcje, które wymieniłem powyżej, przy najmniejszym spadku wydajności”. Redis może nie być jedyną odpowiedzią. Możesz rozważyć shelf
dla trwałości, a może nawet pełnej relacyjnej bazy danych, Mongo lub czegokolwiek.
Krótko mówiąc, gdy już masz dobre pojęcie o tym, jak często rozwiązuje się samo.