Resposta curta: Membase .
Resposta longa:
Você basicamente tem três opções:um banco de dados relacional, armazenamento de arquivos ou qualquer outra coisa.
Como você disse, um banco de dados relacional definitivamente pode ser um exagero. Dito isso, se isso for parte de um aplicativo que já possui um banco de dados MySQL ou outro, eu usaria isso. Da mesma forma, o armazenamento de arquivos pode ser útil às vezes (gravar em vários arquivos XML, por exemplo), mas a E/S de disco pode ser lenta.
Agora no outro categoria, você tem ótimas opções NoSQL como CouchDB ou Memcached .
Se você não estiver muito preocupado com a persistência de seus dados, recomendo o memcache. É leve, fácil de executar e há uma extensão PHP do Memcache que facilita o uso. Ele é feito para armazenamento de valor-chave como este.
A única desvantagem do memcache é que todos os seus dados são perdidos no segundo em que o serviço do memcache é interrompido. É aqui que Membase É um fork de memcache de código aberto que é compatível com protocolo, o que significa que funcionará com todas as bibliotecas de cliente existentes. No entanto, ele pode persistir seus dados e realmente fornecer consistência e confiabilidade, algo que o memcache não pode por si só.
OBSERVAÇÃO: Esta resposta é uma relíquia de seu tempo, assim como a própria pergunta. Por favor, não leve ao pé da letra.