Construyendo aplicaciones
con PHP + LUA + REDIS
Gonzalo Chacaltana Buleje
gchacaltanab@outlook.com

@gchacaltanab
Antes de empezar
• Los ejemplos del presente documento, requiere
conocer el lenguaje de programación PHP y los
comandos bá...
Conociendo LUA
• Creado en 1993 por Roberto Ierusalimschy, Luiz
Henrique de Figueiredo y Waldemar Celes, miembros
del Grup...
Conociendo LUA
Lua es un lenguaje de programación imperativo,
estructurado y muy veloz, usado en distintas aplicaciones
co...
Características de LUA
• LUA es muy rápido: es considerado uno de los lenguajes
de programación más veloces del mundo.
• L...
Características de LUA
• Las variables no tienen tipo.
• Los datos pueden ser lógicos, enteros, números de
coma flotante o...
Instalando módulo REDIS para PHP
• Descargarse la librería de Redis para PHP de la siguiente
,
repositorio de Github.
(htt...
Instalando módulo REDIS para PHP
Copia el archivo redis.so en la siguiente ruta:
$>sudo cp /path/redis.so /etc/php5/conf.d...
Instalando módulo REDIS para PHP
En la información del phpinfo, debe aparecer
el modulo Redis.
Ejemplo: Usuarios en línea.
• Como ejemplo, vamos a utilizar Redis para almacenar
el nombre de usuario y la fecha de su úl...
Creando un sorted set en Redis
Iniciamos el servicio de redis en nuestro servidor:
$> sudo service redis_6379 start

Ingre...
Conectando a Redis
Insertando data a Redis
Obteniendo data de Redis
Obteniendo cantidad total de una
lista ordenada en Redis.
Script LUA para eliminar elementos
de una lista en Redis.
Ejecutando LUA Script desde PHP y
REDIS.
PHP + REDIS + LUA.
Construir aplicaciones web usando REDIS + LUA te permite
acelerar el tiempo de respuesta de las transac...
Referencias
• Documentación de LUA.
http://www.lua.org/docs.html

• LUA Edit. http://luaedit.sourceforge.net/download.html...
Upcoming SlideShare
Loading in …5
×

Construyendo Aplicaciones Web con PHP + LUA + REDIS

1,292 views
1,044 views

Published on

Guía de como construir aplicaciones web con PHP, usando REDIS como motor de base de datos en memoria RAM y LUA como procedimiento almacenado de REDIS.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,292
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Construyendo Aplicaciones Web con PHP + LUA + REDIS

  1. 1. Construyendo aplicaciones con PHP + LUA + REDIS Gonzalo Chacaltana Buleje gchacaltanab@outlook.com @gchacaltanab
  2. 2. Antes de empezar • Los ejemplos del presente documento, requiere conocer el lenguaje de programación PHP y los comandos básicos de REDIS. • Puede dirigirse a la sección de “Referencias” para obtener los links de donde pueda aprender sobre PHP y REDIS.
  3. 3. Conociendo LUA • Creado en 1993 por Roberto Ierusalimschy, Luiz Henrique de Figueiredo y Waldemar Celes, miembros del Grupo de Tecnología en Computación Gráfica (Tecgraf) en la Pontificia Universidad Católica de Río de Janeiro, Brasil. • Su última versión estable a la fecha es la 5.2.1, bajo licencia MIT. Roberto Ierusalimschy
  4. 4. Conociendo LUA Lua es un lenguaje de programación imperativo, estructurado y muy veloz, usado en distintas aplicaciones comerciales como Adobe, videojuegos como Warcraft , Angry birds y control de hardware. LUA significa "luna" en portugués, de ahí su logo.
  5. 5. Características de LUA • LUA es muy rápido: es considerado uno de los lenguajes de programación más veloces del mundo. • LUA es portable: es pequeño y corre en todas las plataformas que tengan un compilador C estándar, como UNIX, Windows, OS-X y los distintos Sistemas Operativos para móviles. • Lua no es un lenguaje orientado a objetos puro, pero proporciona meta-mecanismos para la implementación de clases y herencia.
  6. 6. Características de LUA • Las variables no tienen tipo. • Los datos pueden ser lógicos, enteros, números de coma flotante o cadenas. • Las Estructuras de datos como vectores, conjuntos, tablas hash, listas y registros pueden ser representadas utilizando la única estructura de datos de Lua: La tabla. • Su sintaxis se basa en Scheme, SNOBOL, Modula, CLU, C++.
  7. 7. Instalando módulo REDIS para PHP • Descargarse la librería de Redis para PHP de la siguiente , repositorio de Github. (https://github.com/gchacaltana/phpredis). o también puede clonar el repositorio con GIT: git clone https://github.com/gchacaltana/phpredis.git • Una vez descargado, ingresamos al directorio principal de la librería y ejecutamos desde nuestro terminal. $>sudo apt-get install php5-dev $>phpize $>./configure [--enable-redis-igbinary] $>make && make install
  8. 8. Instalando módulo REDIS para PHP Copia el archivo redis.so en la siguiente ruta: $>sudo cp /path/redis.so /etc/php5/conf.d/ Luego debes editar el php.ini, agregando: extension=redis.so Y reinicias el servidor web. $>sudo service apache2 restart (para apache) ó $>sudo service ngnix restart (para ngnix)
  9. 9. Instalando módulo REDIS para PHP En la información del phpinfo, debe aparecer el modulo Redis.
  10. 10. Ejemplo: Usuarios en línea. • Como ejemplo, vamos a utilizar Redis para almacenar el nombre de usuario y la fecha de su última conexión a nuestro Sistema, para mostrar cuantos usuarios están en línea, de esta forma evitamos realizar repetidas consultas a nuestra base de datos (MySQL), ya que REDIS es un motor de base de datos en memoria RAM.
  11. 11. Creando un sorted set en Redis Iniciamos el servicio de redis en nuestro servidor: $> sudo service redis_6379 start Ingresamos a Redis y podemos crear una lista ordenada llamada “usersonline” $>redis-cli Redis 127.0.0.1:6379> zadd usersonline 100 gchacaltanab Redis 127.0.0.1:6379> zadd usersonline 101 demo Redis 127.0.0.1:6379> zadd usersonline 102 pepito
  12. 12. Conectando a Redis
  13. 13. Insertando data a Redis
  14. 14. Obteniendo data de Redis
  15. 15. Obteniendo cantidad total de una lista ordenada en Redis.
  16. 16. Script LUA para eliminar elementos de una lista en Redis.
  17. 17. Ejecutando LUA Script desde PHP y REDIS.
  18. 18. PHP + REDIS + LUA. Construir aplicaciones web usando REDIS + LUA te permite acelerar el tiempo de respuesta de las transacciones que puedas requerir con alguna base de datos relacional convencional, teniendo en cuenta para que tipo de soluciones necesitas almacenar información en memoria RAM. Redis de por si es muy rápido y aplicando LUA como procedimiento almacenado, para ejecutar múltiples tareas, mejora la performance de Redis y de la aplicación.
  19. 19. Referencias • Documentación de LUA. http://www.lua.org/docs.html • LUA Edit. http://luaedit.sourceforge.net/download.html • Documentación de Redis. http://redis.io/documentation • Librería PHP-REDIS. https://github.com/gchacaltana/phpredis • Aprendiendo REDIS en 20 minutos. https://speakerdeck.com/gchacaltana/aprendiendo-redis-en-20minutos

×