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

La actualidad más candente

Instalación de SGBD
Instalación de SGBDInstalación de SGBD
Instalación de SGBD
davidsalvadorplds
 
Entregable 1 suse 3
Entregable 1  suse 3Entregable 1  suse 3
Entregable 1 suse 3
Javier Texis Hernandez
 
Instalación de libreoffice 4.0
Instalación de libreoffice 4.0Instalación de libreoffice 4.0
Instalación de libreoffice 4.0
Nestux Alfonso Rincón Garcia
 
Samba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAPSamba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAP
iesgrancapitan.org
 
Unix
UnixUnix
Comandos básicos iii gestión de archivos
Comandos básicos iii gestión de archivosComandos básicos iii gestión de archivos
Comandos básicos iii gestión de archivos
Pablo Macon
 
Sistemas Operativos Avanzados Linux
Sistemas Operativos Avanzados LinuxSistemas Operativos Avanzados Linux
Sistemas Operativos Avanzados Linux
juanhuapaya
 
Clase1(software libre)
Clase1(software libre)Clase1(software libre)
Clase1(software libre)
juanhuapaya
 
Servicio apache gnu linux-centos ::: http://leymebamba.com
Servicio apache  gnu linux-centos  ::: http://leymebamba.comServicio apache  gnu linux-centos  ::: http://leymebamba.com
Servicio apache gnu linux-centos ::: http://leymebamba.com
{|::::::. ELDAVAN .:::::::|}
 
Capitulo 9 katlher bermejo
Capitulo 9 katlher bermejoCapitulo 9 katlher bermejo
Capitulo 9 katlher bermejo
jpk1998
 
Permisos en Linux
Permisos en LinuxPermisos en Linux
Permisos en Linux
Pablo Macon
 
Integrando Centos4.4 Con Active Directory
Integrando Centos4.4 Con Active DirectoryIntegrando Centos4.4 Con Active Directory
Integrando Centos4.4 Con Active Directory
ITSanchez
 
Tarea6 programacionweb
Tarea6 programacionwebTarea6 programacionweb
Tarea6 programacionweb
Leonardo Uriel Ulloa Mora
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows Server
Nombre Apellidos
 
Open Solaris Multimedia
Open Solaris MultimediaOpen Solaris Multimedia
Open Solaris Multimedia
juandanielp
 
EXAMEN parte 1
EXAMEN parte 1EXAMEN parte 1
EXAMEN parte 1
Jairo Sacatoma
 
05 Php. Configuracion De Php
05 Php. Configuracion De Php05 Php. Configuracion De Php
05 Php. Configuracion De Php
José M. Padilla
 
Samba file share server
Samba file share serverSamba file share server
Samba file share server
Jorge Hernández
 
Internet
InternetInternet
Actividad 3-4 actividad final
Actividad 3-4 actividad finalActividad 3-4 actividad final
Actividad 3-4 actividad final
Alejandra Osorio
 

La actualidad más candente (20)

Instalación de SGBD
Instalación de SGBDInstalación de SGBD
Instalación de SGBD
 
Entregable 1 suse 3
Entregable 1  suse 3Entregable 1  suse 3
Entregable 1 suse 3
 
Instalación de libreoffice 4.0
Instalación de libreoffice 4.0Instalación de libreoffice 4.0
Instalación de libreoffice 4.0
 
Samba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAPSamba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAP
 
Unix
UnixUnix
Unix
 
Comandos básicos iii gestión de archivos
Comandos básicos iii gestión de archivosComandos básicos iii gestión de archivos
Comandos básicos iii gestión de archivos
 
Sistemas Operativos Avanzados Linux
Sistemas Operativos Avanzados LinuxSistemas Operativos Avanzados Linux
Sistemas Operativos Avanzados Linux
 
Clase1(software libre)
Clase1(software libre)Clase1(software libre)
Clase1(software libre)
 
Servicio apache gnu linux-centos ::: http://leymebamba.com
Servicio apache  gnu linux-centos  ::: http://leymebamba.comServicio apache  gnu linux-centos  ::: http://leymebamba.com
Servicio apache gnu linux-centos ::: http://leymebamba.com
 
Capitulo 9 katlher bermejo
Capitulo 9 katlher bermejoCapitulo 9 katlher bermejo
Capitulo 9 katlher bermejo
 
Permisos en Linux
Permisos en LinuxPermisos en Linux
Permisos en Linux
 
Integrando Centos4.4 Con Active Directory
Integrando Centos4.4 Con Active DirectoryIntegrando Centos4.4 Con Active Directory
Integrando Centos4.4 Con Active Directory
 
Tarea6 programacionweb
Tarea6 programacionwebTarea6 programacionweb
Tarea6 programacionweb
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows Server
 
Open Solaris Multimedia
Open Solaris MultimediaOpen Solaris Multimedia
Open Solaris Multimedia
 
EXAMEN parte 1
EXAMEN parte 1EXAMEN parte 1
EXAMEN parte 1
 
05 Php. Configuracion De Php
05 Php. Configuracion De Php05 Php. Configuracion De Php
05 Php. Configuracion De Php
 
Samba file share server
Samba file share serverSamba file share server
Samba file share server
 
Internet
InternetInternet
Internet
 
Actividad 3-4 actividad final
Actividad 3-4 actividad finalActividad 3-4 actividad final
Actividad 3-4 actividad final
 

Destacado

Metodo de la secante en scilab
Metodo de la secante en scilabMetodo de la secante en scilab
Metodo de la secante en scilab
Tensor
 
Firewalls
FirewallsFirewalls
Firewalls
Tensor
 
Html 5
Html 5Html 5
Html 5
Tensor
 
LetterOfRec
LetterOfRecLetterOfRec
LetterOfRec
Heather Harbaugh
 
Consumerisation of IT
Consumerisation of ITConsumerisation of IT
Consumerisation of IT
Rachel De Sain
 
Tema 2 definitivo
Tema 2   definitivoTema 2   definitivo
Tema 2 definitivo
ticuhu
 
Santosh resume F
Santosh resume FSantosh resume F
Santosh resume F
Santosh Rane
 
Isiqalo Comminity Project
Isiqalo Comminity ProjectIsiqalo Comminity Project
Isiqalo Comminity Project
William Peta
 
3 Significant differences of LiFi Technology from Your Good Old WiFi
3 Significant differences of LiFi Technology from Your Good Old WiFi3 Significant differences of LiFi Technology from Your Good Old WiFi
3 Significant differences of LiFi Technology from Your Good Old WiFi
House of I.T.
 
Adaptación de la gestion de los recuros hiricos al cambio climatico
Adaptación de la gestion de los recuros hiricos al cambio climaticoAdaptación de la gestion de los recuros hiricos al cambio climatico
Adaptación de la gestion de los recuros hiricos al cambio climatico
Raffaele Orlandi
 
Frank S. Catrambone Social Media Presentation
Frank S. Catrambone Social Media PresentationFrank S. Catrambone Social Media Presentation
Frank S. Catrambone Social Media Presentation
Jeremy Miragliotta
 
Merealisasikan akar kuadrat ala cina
Merealisasikan akar kuadrat ala cinaMerealisasikan akar kuadrat ala cina
Merealisasikan akar kuadrat ala cina
Lisdanurfajriyanti
 

Destacado (12)

Metodo de la secante en scilab
Metodo de la secante en scilabMetodo de la secante en scilab
Metodo de la secante en scilab
 
Firewalls
FirewallsFirewalls
Firewalls
 
Html 5
Html 5Html 5
Html 5
 
LetterOfRec
LetterOfRecLetterOfRec
LetterOfRec
 
Consumerisation of IT
Consumerisation of ITConsumerisation of IT
Consumerisation of IT
 
Tema 2 definitivo
Tema 2   definitivoTema 2   definitivo
Tema 2 definitivo
 
Santosh resume F
Santosh resume FSantosh resume F
Santosh resume F
 
Isiqalo Comminity Project
Isiqalo Comminity ProjectIsiqalo Comminity Project
Isiqalo Comminity Project
 
3 Significant differences of LiFi Technology from Your Good Old WiFi
3 Significant differences of LiFi Technology from Your Good Old WiFi3 Significant differences of LiFi Technology from Your Good Old WiFi
3 Significant differences of LiFi Technology from Your Good Old WiFi
 
Adaptación de la gestion de los recuros hiricos al cambio climatico
Adaptación de la gestion de los recuros hiricos al cambio climaticoAdaptación de la gestion de los recuros hiricos al cambio climatico
Adaptación de la gestion de los recuros hiricos al cambio climatico
 
Frank S. Catrambone Social Media Presentation
Frank S. Catrambone Social Media PresentationFrank S. Catrambone Social Media Presentation
Frank S. Catrambone Social Media Presentation
 
Merealisasikan akar kuadrat ala cina
Merealisasikan akar kuadrat ala cinaMerealisasikan akar kuadrat ala cina
Merealisasikan akar kuadrat ala cina
 

Similar a Construyendo aplicaciones con php + lua + redis

Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Gonzalo Chacaltana
 
Php adsi 2013 sena
Php adsi 2013 senaPhp adsi 2013 sena
Php adsi 2013 sena
yexikita1
 
Código php
Código phpCódigo php
Código php
Géne Solórzano
 
Código php
Código phpCódigo php
Código php
Géne Solórzano
 
Practica09
Practica09Practica09
Historia de PHP
Historia de PHPHistoria de PHP
Curso php dia1
Curso php dia1Curso php dia1
Curso php dia1
cognos_uie
 
Apache
ApacheApache
Apache
Xavier
 
Software rizo
Software rizoSoftware rizo
Software rizo
Christianofarr
 
Desarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas LibresDesarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas Libres
Diego Fernando Marin
 
Servidor php
Servidor phpServidor php
Servidor php
Uriieel NamiikaZee
 
Programacion en php ivan jose hernandez sena
Programacion en php ivan jose hernandez senaProgramacion en php ivan jose hernandez sena
Programacion en php ivan jose hernandez sena
Marcela Mestre
 
Php
PhpPhp
Php
elsi123
 
Bases teóricas
Bases teóricasBases teóricas
Bases teóricas
luisperoza
 
15 servidor php
15 servidor php15 servidor php
15 servidor php
IsaacVk
 
Php tarea
Php tareaPhp tarea
Php tarea
saullopes24
 
Phpmyadmin
PhpmyadminPhpmyadmin
Phpmyadmin
Lady Rincon
 
Php apesteguia
Php apesteguiaPhp apesteguia
Php apesteguia
tonytenorio2
 
Generalidades de Php
Generalidades de PhpGeneralidades de Php
Generalidades de Php
denis2801
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
Wilian
 

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

Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDIS
 
Php adsi 2013 sena
Php adsi 2013 senaPhp adsi 2013 sena
Php adsi 2013 sena
 
Código php
Código phpCódigo php
Código php
 
Código php
Código phpCódigo php
Código php
 
Practica09
Practica09Practica09
Practica09
 
Historia de PHP
Historia de PHPHistoria de PHP
Historia de PHP
 
Curso php dia1
Curso php dia1Curso php dia1
Curso php dia1
 
Apache
ApacheApache
Apache
 
Software rizo
Software rizoSoftware rizo
Software rizo
 
Desarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas LibresDesarrollo Web con Herramientas Libres
Desarrollo Web con Herramientas Libres
 
Servidor php
Servidor phpServidor php
Servidor php
 
Programacion en php ivan jose hernandez sena
Programacion en php ivan jose hernandez senaProgramacion en php ivan jose hernandez sena
Programacion en php ivan jose hernandez sena
 
Php
PhpPhp
Php
 
Bases teóricas
Bases teóricasBases teóricas
Bases teóricas
 
15 servidor php
15 servidor php15 servidor php
15 servidor php
 
Php tarea
Php tareaPhp tarea
Php tarea
 
Phpmyadmin
PhpmyadminPhpmyadmin
Phpmyadmin
 
Php apesteguia
Php apesteguiaPhp apesteguia
Php apesteguia
 
Generalidades de Php
Generalidades de PhpGeneralidades de Php
Generalidades de Php
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
 

Más de Tensor

Libertad
LibertadLibertad
Libertad
Tensor
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)
Tensor
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
Tensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
Tensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
Tensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
Tensor
 
Game maker
Game makerGame maker
Game maker
Tensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
Tensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
Tensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
Tensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
Tensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
Tensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
Tensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
Tensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
Tensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
Tensor
 
Ondas em
Ondas emOndas em
Ondas em
Tensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
Tensor
 

Más de Tensor (20)

Libertad
LibertadLibertad
Libertad
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
 
Game maker
Game makerGame maker
Game maker
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
 
Ondas em
Ondas emOndas em
Ondas em
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
 

Último

CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍACINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
Fernández Gorka
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
shirherrer
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
karlafreire0608
 
Inteligencia Artificial y Aprendizaje Activo FLACSO Ccesa007.pdf
Inteligencia Artificial  y Aprendizaje Activo FLACSO  Ccesa007.pdfInteligencia Artificial  y Aprendizaje Activo FLACSO  Ccesa007.pdf
Inteligencia Artificial y Aprendizaje Activo FLACSO Ccesa007.pdf
Demetrio Ccesa Rayme
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsadUrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
JorgeVillota6
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
Módulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escrituraMódulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escritura
marilynfloresyomona1
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
https://gramadal.wordpress.com/
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
YeniferGarcia36
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
JimmyDeveloperWebAnd
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 
Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
Mónica Sánchez
 

Último (20)

CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍACINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
 
Inteligencia Artificial y Aprendizaje Activo FLACSO Ccesa007.pdf
Inteligencia Artificial  y Aprendizaje Activo FLACSO  Ccesa007.pdfInteligencia Artificial  y Aprendizaje Activo FLACSO  Ccesa007.pdf
Inteligencia Artificial y Aprendizaje Activo FLACSO Ccesa007.pdf
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsadUrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
Módulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escrituraMódulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escritura
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 
Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
 

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