SlideShare una empresa de Scribd logo
Construyendo aplicaciones
con PHP + LUA + REDIS
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.
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
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.
Conociendo LUA
LUA significa "luna" en portugués,
de ahí su logo.
• 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.
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++.
Características de LUA
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
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)
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 ú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.
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
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 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.
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-20-
minutos

Más contenido relacionado

PPTX
Alomaliza
PPTX
Alomaliza
PPTX
UTILIDADES
PDF
El sendero-del-hacker
ODP
Proxy Squid en Ubuntu
DOCX
SISTEMAS OPERATIVOS Y REDES DE INTERNET
DOCX
Capitulo 9
PDF
Ofimática versión 2
Alomaliza
Alomaliza
UTILIDADES
El sendero-del-hacker
Proxy Squid en Ubuntu
SISTEMAS OPERATIVOS Y REDES DE INTERNET
Capitulo 9
Ofimática versión 2

La actualidad más candente (20)

PDF
Instalación de SGBD
DOC
Entregable 1 suse 3
PDF
Instalación de libreoffice 4.0
ODP
Samba como PDC y autentificación LDAP
PPTX
Comandos básicos iii gestión de archivos
PPTX
Sistemas Operativos Avanzados Linux
PPT
Clase1(software libre)
PDF
Servicio apache gnu linux-centos ::: http://leymebamba.com
DOCX
Capitulo 9 katlher bermejo
PPTX
Permisos en Linux
PPT
Integrando Centos4.4 Con Active Directory
PPTX
Tarea6 programacionweb
PDF
Apache: instalación y configuración en Ubuntu Server y Windows Server
ODP
Open Solaris Multimedia
PPTX
EXAMEN parte 1
PDF
05 Php. Configuracion De Php
PPTX
Samba file share server
PDF
Actividad 3-4 actividad final
Instalación de SGBD
Entregable 1 suse 3
Instalación de libreoffice 4.0
Samba como PDC y autentificación LDAP
Comandos básicos iii gestión de archivos
Sistemas Operativos Avanzados Linux
Clase1(software libre)
Servicio apache gnu linux-centos ::: http://leymebamba.com
Capitulo 9 katlher bermejo
Permisos en Linux
Integrando Centos4.4 Con Active Directory
Tarea6 programacionweb
Apache: instalación y configuración en Ubuntu Server y Windows Server
Open Solaris Multimedia
EXAMEN parte 1
05 Php. Configuracion De Php
Samba file share server
Actividad 3-4 actividad final
Publicidad

Destacado (12)

PPTX
Metodo de la secante en scilab
PPTX
Firewalls
PDF
Html 5
DOCX
LetterOfRec
PPTX
Consumerisation of IT
PPTX
Tema 2 definitivo
DOC
Santosh resume F
PPTX
Isiqalo Comminity Project
PDF
3 Significant differences of LiFi Technology from Your Good Old WiFi
PDF
Adaptación de la gestion de los recuros hiricos al cambio climatico
PPTX
Frank S. Catrambone Social Media Presentation
DOCX
Merealisasikan akar kuadrat ala cina
Metodo de la secante en scilab
Firewalls
Html 5
LetterOfRec
Consumerisation of IT
Tema 2 definitivo
Santosh resume F
Isiqalo Comminity Project
3 Significant differences of LiFi Technology from Your Good Old WiFi
Adaptación de la gestion de los recuros hiricos al cambio climatico
Frank S. Catrambone Social Media Presentation
Merealisasikan akar kuadrat ala cina
Publicidad

Similar a Construyendo aplicaciones con php + lua + redis (20)

PDF
Construyendo Aplicaciones Web con PHP + LUA + REDIS
PPTX
Php adsi 2013 sena
PPTX
Código php
PPTX
Código php
PPTX
PDF
PPTX
Curso php dia1
PDF
Apache
PPTX
Software rizo
ODP
Desarrollo Web con Herramientas Libres
PPTX
Servidor php
PPTX
Programacion en php ivan jose hernandez sena
DOC
Php
DOC
Bases teóricas
PPTX
15 servidor php
DOCX
Php tarea
PPT
Phpmyadmin
PDF
Php apesteguia
PPT
Generalidades de Php
PPT
Curso TIC de PHP y MSQL
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Php adsi 2013 sena
Código php
Código php
Curso php dia1
Apache
Software rizo
Desarrollo Web con Herramientas Libres
Servidor php
Programacion en php ivan jose hernandez sena
Php
Bases teóricas
15 servidor php
Php tarea
Phpmyadmin
Php apesteguia
Generalidades de Php
Curso TIC de PHP y MSQL

Más de Tensor (20)

PDF
Libertad
PPTX
Método de la regla falsa (o metodo de la falsa posición)
PPTX
Metodo de la bisección
PPTX
Transito vehicular
PPTX
Teoria de colas
PDF
Practica 7 2016
PDF
Practica 6 2016
PPTX
Game maker
PDF
Practica 5 2016
PPTX
Procesamiento de archivos
PPTX
Cadenas y funciones de cadena
PPTX
Simulación en promodel clase 04
PDF
Reduccion de orden
PDF
Variación+de+parametros
PDF
Coeficientes indeterminados enfoque de superposición
PDF
Bernoulli y ricatti
PDF
Practica no. 3 tiempo de servicio
PPTX
Clase 14 ondas reflejadas
PDF
Ondas em
PPTX
Clase 7 ondas electromagneticas
Libertad
Método de la regla falsa (o metodo de la falsa posición)
Metodo de la bisección
Transito vehicular
Teoria de colas
Practica 7 2016
Practica 6 2016
Game maker
Practica 5 2016
Procesamiento de archivos
Cadenas y funciones de cadena
Simulación en promodel clase 04
Reduccion de orden
Variación+de+parametros
Coeficientes indeterminados enfoque de superposición
Bernoulli y ricatti
Practica no. 3 tiempo de servicio
Clase 14 ondas reflejadas
Ondas em
Clase 7 ondas electromagneticas

Último (20)

PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
Tomo 1 de biologia gratis ultra plusenmas
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
PDF
Metodologías Activas con herramientas IAG
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
biología es un libro sobre casi todo el tema de biología
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Escuela Sabática 6. A través del Mar Rojo.pdf
V UNIDAD - PRIMER GRADO. del mes de agosto
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Tomo 1 de biologia gratis ultra plusenmas
Tarea De El Colegio Coding For Kids 1 y 2
Metodologías Activas con herramientas IAG
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
caso clínico iam clinica y semiología l3.pptx
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Cosacos y hombres del Este en el Heer.ppt
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
biología es un libro sobre casi todo el tema de biología
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf

Construyendo aplicaciones con php + lua + redis

  • 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. 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. 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. Conociendo LUA LUA significa "luna" en portugués, de ahí su logo.
  • 5. • 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. Características de LUA
  • 6. • 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++. Características de LUA
  • 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. 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. Instalando módulo REDIS para PHP En la información del phpinfo, debe aparecer el modulo Redis.
  • 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. 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
  • 15. Obteniendo cantidad total de una lista ordenada en Redis.
  • 16. Script LUA para eliminar elementos de una lista en Redis.
  • 17. Ejecutando LUA Script desde PHP y REDIS.
  • 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. 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-20- minutos