JG
Sessões do PHP com Redis
Fala galera, Jheff aqui !!
Me baseando no artigo https://www.adianti.com.br/forum/pt/view_2044?5-dicas-de-desempenho-ao-desenvolv
mais precisamente nos tópicos 3 e 4.
Onde o Pablo da dicas de desempenho com o framework utilizando o Redis para fazer cache de objetos.
E como colocar os arquivos de sessão na memória.
Pois bem, nesse artigo vou mostrar como implementar o Redis para utilizar com a sessão do php.
Vamos la!
O Redis
O Redis, em resumo, é um banco de dados não relacional que armazena dados na memória, e por isso tem um excelente desempenho.
Ele funciona basicamente com uma estrutura de chave valor. Muito bom para ser usado como cache e para controlar suas sessões.
Usando o Redis nós podemos montar uma arquitetura para sua aplicação a onde as sessões estarão centralizadas em um lugar fora da própria aplicação, nos permitindo ter um controle maior e mais facilitado sobre elas.
Fazendo isso podemos escalar a nossa aplicação horizontalmente sem termos que nos preocupar com a sessão do usuário.
Instalando a extensão do Redis no seu PHP
Para fazermos isso precisamos instalar uma extensão do PHP e isso é diferente dependendo do sistema operacional. Mostrarei esse processo usando o Linux e o Windows.
No Windows
No Windows, a melhor forma que eu achei de fazer a instalação é acessando a página da PECL do Redis. Aqui(https://pecl.php.net/package/redis) você encontra todas as versões da extensão.
Escolha a versão que preferir e não esqueça de baixar a versão em DLL, não em .TGZ – depois é só escolher a versão para seu PHP.
Depois de baixar, pegue o arquivo php_redis.dll e coloque na sua pasta de extensões dentro da pasta do seu PHP e adicione essa linha no arquivo php.ini:
extension=php_redis.dll
No Linux
Basta usar o seu gerenciador de pacotes, veja:
sudo apt install php[verão só PHP]-redis
Acredito que para outras distribuições Linux o processo seja semelhante só usando o gerenciador de pacotes de cada distribuição.
Testando a instalação
Para verificar se instalação foi feita corretamente basta rodar o comando php -m no seu terminal ou cmd, caso esteja no Windows.
php -m
Verifique se a extensão redis, é exibida, se sim, a instalação foi realizada com sucesso.
Configurando o PHP
Agora, com a extensão instalada é bem simples. Basta acessar o arquivo php.ini e encontrar essas duas linhas:
session.save_handler = files
session.save_path = "N;/path"
E mude as duas para:
session.save_handler = redis
session.save_path = "tcp://[ip do seu servidor]:[porta do seu servidor]?auth=senha_do_redis"
Por padrão, a porta do redis é 6379 e o auth é opcional. Isso é só se o seu redis possui senha para acesso.
Pronto, agora toda vez que você estiver usando sessões no seu PHP vai saber que elas estão sendo salvas no seu servidor Redis.
Conclusão
Além de poder ser usado para "cacheamento" de objetos, o Regis, também pode ser usado para armazenar as sessões o que melhora consideravelmente o desempenho da aplicação.
Fontes:
https://imasters.com.br/back-end/sessoes-php-com-redis
https://medium.com/@brenodouglas/utilizando-redis-com-a-extens%C3%A3o-phpredis-em-sua-aplica%C3%A7%C3%A3o-php-e81d4e2762fd
Pois bem, nesse artigo vou mostrar como implementar o Redis para utilizar com a sessão do php.
slopegame3d.com