Na minha opinião salvar tokens no banco de dados não é viável e nem faz sentido.
A primeria perguntar que eu faria é, por que?
Na verdade, para a maior parte dos sistemas os jsonwebtokens ou equivalentes (até mesmo um SWT) atendem perfeitamente.
Isso porque a validação do token não ocorre durante uma varredura de uma lista (com checagem de um para um), mas sim através de um algorítimo específico.
Isso é extremamente importante para poupar tráfego e processamento em um banco de dados, mesmo que ainda fosse um Redis você ainda precisaria o gerenciar e acredite em mim, menos serviços é mais.
Contudo, com o algorítimo você delega essa função para o próprio server que processará as requests. Isso é mais interessante financeiramente falando e ainda promove que sua aplicação seja stateless, ou seja, você pode ter mais de uma instância em paralelo facilitando a escalabilidade, lembre-se "facilitando", não que isso determine que seu sistema seja escalável.
Procure soluções prontas
Construir autenticações não deveria ser sua prioridade, você precisaria estudar muito sobre segurança e ainda falharia em algo. Procure bibliotecas prontas, ou até mesmo soluções prontas, mas ao contratar um serviço externo considere aquilo que mencionei no primeiro item, menos serviços é mais.
Autenticação tende a complexar com o tempo
Somente validar que o usuário está autenticado é algo simples mas esta tarefa pode e deve complexar na medida que o sistema cresça, incluindo as famigeradas roles e tudo o que envolve níveis de acesso, ai você adentrará no que constitui o payload do token e por ai vai...
Aliás, é no payload de um JWT que você obtém a informação de qual usuário está logado, informações específicas do login e etc..