Pergunta

Eu estou revendo meu código e perceber que eu gastar uma quantidade enorme de tempo

  1. tomar linhas de uma base de dados,
  2. formatação como XML,
  3. AJAX GET para o navegador, e depois
  4. converter de volta para um objeto javascript hash como meu armazenamento de dados local.

Em atualizações, eu tenho que inverter o processo (exceto usando POST em vez de XML.)

Tendo acabado de começar a olhar para Redis, eu estou pensando que pode salvar uma quantidade enorme de tempo manter os objetos em uma loja de valor-chave no servidor e apenas usando JSON para transferir diretamente ao cliente JS. Mas a minha mente fraca não pode antecipar o que eu estou desistindo, deixando um SQL DB (ou seja, eu estou com medo de desistir da GROUP BY / TENDO consultas)

Para os meus dados, eu tenho:

  • muitos-muitos, isto é, Obj-tags, Obj-grupos, etc.
  • consulta objetos por uma combinação de tais, isto é, onde tag EM ( 'a', 'b', 'c') e o grupo em ( 'x', 'y')
  • auto junta-se, ou seja, todas as marcas para cada objeto onde tag = 'a' (group_concat sql ())
  • um monte de junções externas, ou seja, OUTER JOIN classificação ON o.id = rating.obj_id
  • e feeds, que parecem ser um ponto forte em REDIS

Como você se misturar com sucesso key-value & SQL bancos de dados?

Por exemplo, é prático para se juntar a uma grande lista de obj.Ids de um conjunto REDIS com dados SQL utilizando uma consulta SQL GAMA (ou seja, onde obj.id IN (1,4,6,7,8,34,876,9879 , 567345, ...), ou vice-versa?

ideias / sugestões bem-vindos.

Foi útil?

Solução

Você pode querer dar uma olhada MongoDB . Ele funciona com objetos de estilo JSON, e vem com SQL como a indexação e consulta. Redis é mais adequado para armazenar estruturas de dados gosta de listas e conjuntos, quando quiser uma pesquisa simples em vez de uma consulta complexa.

Outras dicas

Agora que o problema real é mais definido (ou seja, você gastar muito tempo escrevendo código de conversão repetitivo para passar de uma camada / representação para o próximo), talvez você poderia considerar escrever (ou googling para) algo que automatiza este, talvez ?

Googles retorna abundância de resultados para "Converter tabela para XML" (e vice-versa), isso ajudaria? Será que algo vai diretamente da tabela de pares chave / valor ser melhor? Você tentou abordar este problema de uma forma generalizada?

Quando você diz "eu gastar uma quantidade enorme de tempo" que quer dizer este é um monte de tempo de desenvolvimento, ou você está se referindo a tempo de computação?

Pessoalmente eu ter cuidado com a mistura de um RDBMS com uma solução não-RDBMS, porque isso provavelmente irá criar problemas quando os dois paradigmas diferentes colidem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top