E ESTE TAL DE REDIS HEIN?
Mario Guedes
Vídeo da Palestra
● https://youtu.be/6kfPeO9d3bU
Título da Palestra
Nome do Palestrante
Mário?
• Sou Desenvolvedor a mais de 20 anos
• Estou Gerente de Desenvolvimento na CONTACT STUDIO Software
• Manjo de Delphi, Python, JavaScript, Lua e bancos noSQL
• Extensa experiência na arquitetura REST
• Trabalho no setor de Contact Center a mile anos
noSQL
• Estamos entrando em 2018 e tenho certeza de que você já ouviu falar do noSQL
• Sabe que além do banco relacional temos agora outros paradigmas que resolvem problemas específicos:
• Orientação a Documento – e.g. mongoDB
• Orientação a Coluna – e.g. Cassandra
• Orientação a Chave e Valor – e.g. Redis
• Orientação a Grafo – e.g. Neo4J
• E tudo isso tem aplicabilidades bem específicas.
E esse tal de Redis?
• O foco, então, da nossa apresentação é o Redis
• É um storage orientado à chave e valor
• Imagine um grande e poderoso arquivo INI
• Onde você referencia uma chave e obtém um valor – simples assim!
• Velocidade! Eu sou a velocidade!
• Os dados ficam, essencialmente na memória RAM.
• Pode ser configurado para trabalhar em Cluster.
Curiosidades
• https://redis.io/
• Criado por Salvatore Sanfiippo
• Open-source desde 2009
• Escrito em C “puro”
• REDIS de REmote DIctionary Server
• É blocante, ou seja, só executa um comando por vez
• Porém executa rápido pra caramba
• Executa script Lua nos poupando o tráfego de dados
• Não possui suporte oficial no Windows
Exemplos de problemas que podemos resolver
• Armazenamento de sessão do DataSnap, podendo adotar uma abordagem de micro serviços
• Cacheamento lado servidor: o processamento mais rápido é aquele que não é feito
• Armazenamento onde I/O é crucial, como ranqueamento de alguma coisa
• Mensageria entre os diversos artefatos de um ecossistema complexo: PUBSUB e Queue
• Armazenamento de informações com tempo de vida pré-determinado
Colocando para rodar
• Faça download:
https://github.com/MicrosoftArchive/redis/releases
• Instale
• Execute
E no Delphi?
• O Danielle Tetti desenvolveu uma ótima biblioteca:
https://github.com/danieleteti/delphiredisclient
• Instale pelo GetIt Package Manager
• Seja feliz!
Principais comandos
• O Redis é bem rico em opções
• Os comandos triviais são:
• GET – Retorna o valor de uma chave
• SET – Atribui um valor à uma chave, com ou sem TTL (tempo de expiração da chave)
• DEL – Deleta uma chave
• KEYS – Lista as chaves de acordo com um padrão, podendo ser utilizado *, ? e []
Exemplos práticos
• Os exemplos podem ser baixados do meu GitHub:
https://github.com/jmarioguedes/INTENSIVE_DELPHI_2017
Leituras interessantes
• Livro: Armazenando dados com Redis
Rodrigo Lazoti
https://www.casadocodigo.com.br/products/livro-redis
• Redis – o que é e para que serve?
https://pt.linkedin.com/pulse/redis-o-que-é-e-para-serve-romulo-cianci
• A conversation with Salvatore Sanfilippo, creator of the open-source database Redis
https://venturebeat.com/2016/06/19/redis-creator/
jmarioguedes@gmail.com
Em todas as redes: /jmarioguedes

Intensive Delphi 2017 - E este tal de Redis hein?

  • 2.
    E ESTE TALDE REDIS HEIN? Mario Guedes
  • 3.
    Vídeo da Palestra ●https://youtu.be/6kfPeO9d3bU
  • 4.
    Título da Palestra Nomedo Palestrante Mário? • Sou Desenvolvedor a mais de 20 anos • Estou Gerente de Desenvolvimento na CONTACT STUDIO Software • Manjo de Delphi, Python, JavaScript, Lua e bancos noSQL • Extensa experiência na arquitetura REST • Trabalho no setor de Contact Center a mile anos
  • 5.
    noSQL • Estamos entrandoem 2018 e tenho certeza de que você já ouviu falar do noSQL • Sabe que além do banco relacional temos agora outros paradigmas que resolvem problemas específicos: • Orientação a Documento – e.g. mongoDB • Orientação a Coluna – e.g. Cassandra • Orientação a Chave e Valor – e.g. Redis • Orientação a Grafo – e.g. Neo4J • E tudo isso tem aplicabilidades bem específicas.
  • 6.
    E esse talde Redis? • O foco, então, da nossa apresentação é o Redis • É um storage orientado à chave e valor • Imagine um grande e poderoso arquivo INI • Onde você referencia uma chave e obtém um valor – simples assim! • Velocidade! Eu sou a velocidade! • Os dados ficam, essencialmente na memória RAM. • Pode ser configurado para trabalhar em Cluster.
  • 7.
    Curiosidades • https://redis.io/ • Criadopor Salvatore Sanfiippo • Open-source desde 2009 • Escrito em C “puro” • REDIS de REmote DIctionary Server • É blocante, ou seja, só executa um comando por vez • Porém executa rápido pra caramba • Executa script Lua nos poupando o tráfego de dados • Não possui suporte oficial no Windows
  • 8.
    Exemplos de problemasque podemos resolver • Armazenamento de sessão do DataSnap, podendo adotar uma abordagem de micro serviços • Cacheamento lado servidor: o processamento mais rápido é aquele que não é feito • Armazenamento onde I/O é crucial, como ranqueamento de alguma coisa • Mensageria entre os diversos artefatos de um ecossistema complexo: PUBSUB e Queue • Armazenamento de informações com tempo de vida pré-determinado
  • 9.
    Colocando para rodar •Faça download: https://github.com/MicrosoftArchive/redis/releases • Instale • Execute
  • 10.
    E no Delphi? •O Danielle Tetti desenvolveu uma ótima biblioteca: https://github.com/danieleteti/delphiredisclient • Instale pelo GetIt Package Manager • Seja feliz!
  • 11.
    Principais comandos • ORedis é bem rico em opções • Os comandos triviais são: • GET – Retorna o valor de uma chave • SET – Atribui um valor à uma chave, com ou sem TTL (tempo de expiração da chave) • DEL – Deleta uma chave • KEYS – Lista as chaves de acordo com um padrão, podendo ser utilizado *, ? e []
  • 12.
    Exemplos práticos • Osexemplos podem ser baixados do meu GitHub: https://github.com/jmarioguedes/INTENSIVE_DELPHI_2017
  • 13.
    Leituras interessantes • Livro:Armazenando dados com Redis Rodrigo Lazoti https://www.casadocodigo.com.br/products/livro-redis • Redis – o que é e para que serve? https://pt.linkedin.com/pulse/redis-o-que-é-e-para-serve-romulo-cianci • A conversation with Salvatore Sanfilippo, creator of the open-source database Redis https://venturebeat.com/2016/06/19/redis-creator/
  • 14.