SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
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á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
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.
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.
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++.
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-20minutos

Weitere ähnliche Inhalte

Was ist angesagt?

Instalacionoracle10 g
Instalacionoracle10 gInstalacionoracle10 g
Instalacionoracle10 gronyweb
 
Lab4, servidor web, junca,aguilar,quijada
Lab4, servidor web, junca,aguilar,quijadaLab4, servidor web, junca,aguilar,quijada
Lab4, servidor web, junca,aguilar,quijadaputernic10
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apachegarciadebora
 
Apache.http ftp-smtp
Apache.http ftp-smtpApache.http ftp-smtp
Apache.http ftp-smtpgh02
 
Sistemas de Operacion - Presentación Servidor LDAP
Sistemas de Operacion - Presentación Servidor LDAPSistemas de Operacion - Presentación Servidor LDAP
Sistemas de Operacion - Presentación Servidor LDAPViviana Trujillo
 
Manual servicio http bajo linux red hat
Manual servicio http bajo linux red hatManual servicio http bajo linux red hat
Manual servicio http bajo linux red hatyimfer1
 
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Alejandro E Brito Monedero
 
Instalación de dns en centos
Instalación de dns en centos Instalación de dns en centos
Instalación de dns en centos Gerson Zapata
 
Apuntes servidores
Apuntes servidoresApuntes servidores
Apuntes servidoresRene Zenteno
 
Mongodb administración
Mongodb administraciónMongodb administración
Mongodb administraciónJuan Ladetto
 
ownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal JebariownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal Jebaribilaljbr
 
Configuracion https owcloud
Configuracion https owcloudConfiguracion https owcloud
Configuracion https owcloudsebastianrock
 

Was ist angesagt? (20)

Instalacionoracle10 g
Instalacionoracle10 gInstalacionoracle10 g
Instalacionoracle10 g
 
Mongo db course administration
Mongo db course   administrationMongo db course   administration
Mongo db course administration
 
Squid
SquidSquid
Squid
 
Configurar dns
Configurar dnsConfigurar dns
Configurar dns
 
Lab4, servidor web, junca,aguilar,quijada
Lab4, servidor web, junca,aguilar,quijadaLab4, servidor web, junca,aguilar,quijada
Lab4, servidor web, junca,aguilar,quijada
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
 
Apache.http ftp-smtp
Apache.http ftp-smtpApache.http ftp-smtp
Apache.http ftp-smtp
 
Sistemas de Operacion - Presentación Servidor LDAP
Sistemas de Operacion - Presentación Servidor LDAPSistemas de Operacion - Presentación Servidor LDAP
Sistemas de Operacion - Presentación Servidor LDAP
 
Bulma 441
Bulma 441Bulma 441
Bulma 441
 
Servicio de directorio en Centos 6.5
Servicio de directorio en Centos 6.5Servicio de directorio en Centos 6.5
Servicio de directorio en Centos 6.5
 
Manual servicio http bajo linux red hat
Manual servicio http bajo linux red hatManual servicio http bajo linux red hat
Manual servicio http bajo linux red hat
 
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?
 
Ataque por inyección de código sql y sniffing
Ataque por inyección de código sql y sniffingAtaque por inyección de código sql y sniffing
Ataque por inyección de código sql y sniffing
 
Instalación de dns en centos
Instalación de dns en centos Instalación de dns en centos
Instalación de dns en centos
 
VMS cambio IP
VMS cambio IPVMS cambio IP
VMS cambio IP
 
Apuntes servidores
Apuntes servidoresApuntes servidores
Apuntes servidores
 
Mongodb administración
Mongodb administraciónMongodb administración
Mongodb administración
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
ownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal JebariownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal Jebari
 
Configuracion https owcloud
Configuracion https owcloudConfiguracion https owcloud
Configuracion https owcloud
 

Andere mochten auch

Presentacion VI jornadas Voluntariado Cáritas Toledo
Presentacion VI jornadas Voluntariado Cáritas ToledoPresentacion VI jornadas Voluntariado Cáritas Toledo
Presentacion VI jornadas Voluntariado Cáritas ToledoCaritas Toledo
 
Revista nuevas tecnologias
Revista nuevas tecnologiasRevista nuevas tecnologias
Revista nuevas tecnologiasSamy Martinez
 
Damas - market management system for TSO
Damas - market management system for TSODamas - market management system for TSO
Damas - market management system for TSOaxlboy
 
Cómo valoran la RSC y el periodismo social los Medios y los periodistas
Cómo valoran la RSC y el periodismo social los Medios y los periodistasCómo valoran la RSC y el periodismo social los Medios y los periodistas
Cómo valoran la RSC y el periodismo social los Medios y los periodistasEstudio de Comunicación
 
Protokoll Vom 30.11.09
Protokoll Vom 30.11.09Protokoll Vom 30.11.09
Protokoll Vom 30.11.09Mareike Rensch
 
Seguros agropecuarios y gestión integral de riesgos
Seguros agropecuarios y gestión integral de riesgosSeguros agropecuarios y gestión integral de riesgos
Seguros agropecuarios y gestión integral de riesgosFAO
 
Cach hoi va tra loi ve so thich trong tieng anh
Cach hoi va tra loi ve so thich trong tieng anhCach hoi va tra loi ve so thich trong tieng anh
Cach hoi va tra loi ve so thich trong tieng anhCleverlearnvietnam
 
Clients TS Consulting has worked with
Clients TS Consulting has worked withClients TS Consulting has worked with
Clients TS Consulting has worked withJoe Gabriel
 
Lifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath Testers
Lifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath TestersLifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath Testers
Lifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath TestersLifeloc Technologies
 
Rosa rueda cárceles 1
Rosa rueda cárceles 1Rosa rueda cárceles 1
Rosa rueda cárceles 1felirosa
 
Neurología y apoptosis paola imbaquingo
Neurología y apoptosis paola imbaquingoNeurología y apoptosis paola imbaquingo
Neurología y apoptosis paola imbaquingopaolaimbaquingo
 
Interfaces humanas con kinect
Interfaces humanas con kinectInterfaces humanas con kinect
Interfaces humanas con kinectAndrés Londoño
 
Flipping the pimp
Flipping the pimpFlipping the pimp
Flipping the pimpwieters
 
xTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis ZeherovićxTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis ZeherovićBosnia Agile
 
Mrs Abrey Lesson 5 transpiration
Mrs Abrey Lesson 5   transpirationMrs Abrey Lesson 5   transpiration
Mrs Abrey Lesson 5 transpirationkarthinava
 
Presentación Emilie Vandecandelaere, FAO (spanish)
Presentación Emilie Vandecandelaere, FAO  (spanish)Presentación Emilie Vandecandelaere, FAO  (spanish)
Presentación Emilie Vandecandelaere, FAO (spanish)ExternalEvents
 

Andere mochten auch (20)

Presentacion VI jornadas Voluntariado Cáritas Toledo
Presentacion VI jornadas Voluntariado Cáritas ToledoPresentacion VI jornadas Voluntariado Cáritas Toledo
Presentacion VI jornadas Voluntariado Cáritas Toledo
 
Revista nuevas tecnologias
Revista nuevas tecnologiasRevista nuevas tecnologias
Revista nuevas tecnologias
 
Damas - market management system for TSO
Damas - market management system for TSODamas - market management system for TSO
Damas - market management system for TSO
 
Cómo valoran la RSC y el periodismo social los Medios y los periodistas
Cómo valoran la RSC y el periodismo social los Medios y los periodistasCómo valoran la RSC y el periodismo social los Medios y los periodistas
Cómo valoran la RSC y el periodismo social los Medios y los periodistas
 
Protokoll Vom 30.11.09
Protokoll Vom 30.11.09Protokoll Vom 30.11.09
Protokoll Vom 30.11.09
 
Seguros agropecuarios y gestión integral de riesgos
Seguros agropecuarios y gestión integral de riesgosSeguros agropecuarios y gestión integral de riesgos
Seguros agropecuarios y gestión integral de riesgos
 
Cach hoi va tra loi ve so thich trong tieng anh
Cach hoi va tra loi ve so thich trong tieng anhCach hoi va tra loi ve so thich trong tieng anh
Cach hoi va tra loi ve so thich trong tieng anh
 
Clients TS Consulting has worked with
Clients TS Consulting has worked withClients TS Consulting has worked with
Clients TS Consulting has worked with
 
Programme brasage 2014
Programme brasage 2014Programme brasage 2014
Programme brasage 2014
 
Lifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath Testers
Lifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath TestersLifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath Testers
Lifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath Testers
 
Rosa rueda cárceles 1
Rosa rueda cárceles 1Rosa rueda cárceles 1
Rosa rueda cárceles 1
 
Neurología y apoptosis paola imbaquingo
Neurología y apoptosis paola imbaquingoNeurología y apoptosis paola imbaquingo
Neurología y apoptosis paola imbaquingo
 
SE- PRODUCTS
SE- PRODUCTSSE- PRODUCTS
SE- PRODUCTS
 
Interfaces humanas con kinect
Interfaces humanas con kinectInterfaces humanas con kinect
Interfaces humanas con kinect
 
Flipping the pimp
Flipping the pimpFlipping the pimp
Flipping the pimp
 
EId Al Nakib CV
EId Al Nakib CVEId Al Nakib CV
EId Al Nakib CV
 
xTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis ZeherovićxTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis Zeherović
 
Europass-CV-20141121-GonzalezMotos-EN
Europass-CV-20141121-GonzalezMotos-ENEuropass-CV-20141121-GonzalezMotos-EN
Europass-CV-20141121-GonzalezMotos-EN
 
Mrs Abrey Lesson 5 transpiration
Mrs Abrey Lesson 5   transpirationMrs Abrey Lesson 5   transpiration
Mrs Abrey Lesson 5 transpiration
 
Presentación Emilie Vandecandelaere, FAO (spanish)
Presentación Emilie Vandecandelaere, FAO  (spanish)Presentación Emilie Vandecandelaere, FAO  (spanish)
Presentación Emilie Vandecandelaere, FAO (spanish)
 

Ähnlich wie Construyendo Aplicaciones Web con PHP + LUA + REDIS (20)

Construyendo aplicaciones con php + lua + redis
Construyendo aplicaciones con php + lua + redisConstruyendo aplicaciones con php + lua + redis
Construyendo aplicaciones con php + lua + redis
 
Phpmyadmin
PhpmyadminPhpmyadmin
Phpmyadmin
 
Practica09
Practica09Practica09
Practica09
 
Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1
 
Apache
ApacheApache
Apache
 
Lp2
Lp2Lp2
Lp2
 
Lp2
Lp2Lp2
Lp2
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
 
MysqlAdmin-Linux
MysqlAdmin-LinuxMysqlAdmin-Linux
MysqlAdmin-Linux
 
OpenShift y PostgreSQL
OpenShift y PostgreSQLOpenShift y PostgreSQL
OpenShift y PostgreSQL
 
Servidor http
Servidor httpServidor http
Servidor http
 
Clase Hadoop
Clase HadoopClase Hadoop
Clase Hadoop
 
Linux y-windows
Linux y-windowsLinux y-windows
Linux y-windows
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
 
SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
 
Sgbd y tecnologias usadas por aplicaciones web 2
Sgbd y tecnologias usadas por aplicaciones web 2Sgbd y tecnologias usadas por aplicaciones web 2
Sgbd y tecnologias usadas por aplicaciones web 2
 
Sgbd
SgbdSgbd
Sgbd
 
Ruby on the Rails
Ruby on the RailsRuby on the Rails
Ruby on the Rails
 
Mysql
MysqlMysql
Mysql
 
Presentando drupal en xalapa
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapa
 

Kürzlich hochgeladen

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 

Kürzlich hochgeladen (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 

Construyendo Aplicaciones Web con PHP + LUA + REDIS

  • 1. Construyendo aplicaciones con PHP + LUA + REDIS Gonzalo Chacaltana Buleje gchacaltanab@outlook.com @gchacaltanab
  • 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. 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. 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. 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. 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-20minutos