SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
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

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 LDAPiesgrancapitan.org
 
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 archivosPablo Macon
 
Sistemas Operativos Avanzados Linux
Sistemas Operativos Avanzados LinuxSistemas Operativos Avanzados Linux
Sistemas Operativos Avanzados Linuxjuanhuapaya
 
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 bermejojpk1998
 
Permisos en Linux
Permisos en LinuxPermisos en Linux
Permisos en LinuxPablo Macon
 
Integrando Centos4.4 Con Active Directory
Integrando Centos4.4 Con Active DirectoryIntegrando Centos4.4 Con Active Directory
Integrando Centos4.4 Con Active DirectoryITSanchez
 
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 ServerNombre Apellidos
 
Open Solaris Multimedia
Open Solaris MultimediaOpen Solaris Multimedia
Open Solaris Multimediajuandanielp
 
05 Php. Configuracion De Php
05 Php. Configuracion De Php05 Php. Configuracion De Php
05 Php. Configuracion De PhpJosé M. Padilla
 
Actividad 3-4 actividad final
Actividad 3-4 actividad finalActividad 3-4 actividad final
Actividad 3-4 actividad finalAlejandra 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 scilabTensor
 
Firewalls
FirewallsFirewalls
FirewallsTensor
 
Html 5
Html 5Html 5
Html 5Tensor
 
Tema 2 definitivo
Tema 2   definitivoTema 2   definitivo
Tema 2 definitivoticuhu
 
Isiqalo Comminity Project
Isiqalo Comminity ProjectIsiqalo Comminity Project
Isiqalo Comminity ProjectWilliam 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 WiFiHouse 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 climaticoRaffaele Orlandi
 
Frank S. Catrambone Social Media Presentation
Frank S. Catrambone Social Media PresentationFrank S. Catrambone Social Media Presentation
Frank S. Catrambone Social Media PresentationJeremy Miragliotta
 
Merealisasikan akar kuadrat ala cina
Merealisasikan akar kuadrat ala cinaMerealisasikan akar kuadrat ala cina
Merealisasikan akar kuadrat ala cinaLisdanurfajriyanti
 

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 PHP+LUA+REDIS Construir aplicaciones web

Similar a PHP+LUA+REDIS Construir aplicaciones web (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
LibertadTensor
 
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ónTensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicularTensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colasTensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016Tensor
 
Game maker
Game makerGame maker
Game makerTensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivosTensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04Tensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de ordenTensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametrosTensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposiciónTensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricattiTensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioTensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadasTensor
 
Ondas em
Ondas emOndas em
Ondas emTensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticasTensor
 

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

plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 

Último (20)

plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 

PHP+LUA+REDIS Construir aplicaciones web

  • 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