Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Recuperação de benchmarking de redis vs memory em python (usando timeit)


Na comparação que você colocou aqui, você está basicamente medindo quanto tempo o Python leva para vincular um novo nome a um valor no segundo caso. Portanto, não me surpreende que isso seja muito mais rápido do que se comunicar com um processo diferente (Redis). Acho que o que me surpreende é que você consideraria obter um valor do Redis se a opção existir simplesmente para mantê-lo na memória.

Portanto, você precisa ser mais claro sobre por que está usando o Redis para isso em primeiro lugar. Ela sempre será mais lenta do que a memória em processo, sem necessidade de benchmark para isso. Você precisa perguntar "por que não estou apenas usando listas e dicionários Python"? Existem várias respostas válidas:seus dados são muito grandes para caber na memória, você precisa dos recursos específicos do cache, como permitir que os valores desapareçam depois de um tempo, ou deseja usá-los para IPC ou persistência. Depois de saber a resposta aqui, isso informará o benchmarking que você deseja fazer. E a pergunta será mais como "Como obtenho os benefícios/recursos listados acima para a menor penalidade de desempenho". Redis pode não ser a única resposta. Você pode considerar a shelf para persistência, ou talvez até mesmo um banco de dados relacional completo ou Mongo ou qualquer outra coisa.

Em suma, uma vez que você tenha uma boa ideia do porquê, a frequência se resolve.