PDF de programación - El Pequeño Libro de Redis (The Little Redis Book)

Imágen de pdf El Pequeño Libro de Redis (The Little Redis Book)

El Pequeño Libro de Redis (The Little Redis Book)gráfica de visualizaciones

Publicado el 18 de Agosto del 2017
1.616 visualizaciones desde el 18 de Agosto del 2017
223,0 KB
33 paginas
Creado hace 10a (05/07/2013)
Sobre este libro

Licencia

El Pequeño Libro de Redis (The Little Redis Book) posee una licencia Attribution-NonCommercial 3.0 Unported. No

deberías haber pagado por este libro.

Eres libre de copiar, distribuir, modificar o mostrar el libro. Sin embargo, te pido que siempre me atribuyas la autoría

del libro a mí, Karl Seguin, y al traductor, Raúl Expósito, y que no lo utilices con fines comerciales.

Puedes leer el texto completo de la licencia en:

http://creativecommons.org/licenses/by-nc/3.0/legalcode

Sobre El Autor

Karl Seguin es un desarrollador con experiencia en varias áreas y tecnologias. Es un contribuidor activo en proyectos

Open Source, un escritor técnico y un orador ocasional. Ha escrito varios artículos, al igual que varias herramientas,

sobre Redis. Redis posibilita tanto el ranking como las estadísticas de su servicio para desarrolladores ocasionales de

videojuegos: mogade.com.

Karl escribió El Pequeño Libro de MongoDB, el popular y gratuito libro sobre MongoDB.

Puede encontrase su blog en http://openmymind.net y twittea vía @karlseguin

Sobre El Traductor

Este libro ha sido traducido por Raúl Expósito. Puedes visitar su página web en http://raulexposito.com/

Agradecimientos

Quiero agradecerle especialmente a Perry Neal el haberme prestado su visión, su mentalidad y su pasión. Me brindaste

una ayuda que no tiene precio. Gracias.

Última versión

La última versión del código fuente de este libro puede encontrarse en: http://github.com/raulexposito/the-little-redis-book

1

Introducción

En el último par de años, las técnicas y herramientas utilizadas para el almacenamiento y consulta de datos han crecido

a un ritmo increíble. Es seguro afirmar que las bases de datos relacionales ya no van a ir a ninguna parte, del mismo

modo que es posible decir que el ecosistema generado en torno a los datos nunca volverá a ser el mismo.

De todas las nuevas herramientas y soluciones, para mí, Redis ha sido la más emocionante. ¿Por qué?. El primer lugar

porque es increíblemente fácil de aprender. La unidad correcta a emplear es horas cuando se habla de la cantidad de

tiempo que se necesita hasta sentirse cómodo con Redis. En segundo lugar, porque soluciona un conjunto específico

de problemas a la vez que se mantiene bastante genérico. ¿Qué significa esto exactamente? Redis no intenta hacer

de todo con todo tipo de datos. A medida que vayas aprendiendo Redis, verás de un modo cada vez más evidente qué

funciona y qué no funciona con él. Y lo que funciona, como desarrollador, genera una grata experiencia.

Mientras que es posible construir un sistema completo utilizando únicamente Redis, creo que mucha gente lo considerará

como un complemento a aquello que esté utilizando para almacenar datos de forma genérica - que puede ser una base

de datos relacional tradicional, un sistema orientado a documentos, o cualquier otra cosa. Es el tipo de solución que se

emplea para implementar características específicas. De este modo, es similar a un motor de indexado. No tratarías

de construir tu aplicación completa con Lucene, pero cuando necesitas realizar buenas búsquedas, da una experiencia

mucho más satisfactoria - tanto para tí como para tus usuarios. Por supuesto, las similitudes entre Redis y los motores

de indexado terminan aquí.

El objetivo de este libro es permitirte asentar las bases que necesitarás para ser un maestro de Redis. Nos centraremos

en cinco estructuras de datos de Redis y veremos varias aproximaciones a modelos de datos. También veremos algunos

asuntos administrativos y técnicas de depuración.

2

Comienzo

Todos tenemos un modo distinto de aprender: unos prefieren ensuciarse las manos, otros ver vídeos y a otros les gusta

leer. Nada te ayudará mejor a entender Redis que experimentar con él. Redis es realmente sencillo de instalar y viene

con una shell sencilla que nos dará todo lo que necesitemos. Vamos a emplear un par de minutos en tenerlo instalado

y funcionando en nuestro equipo.

En Windows

Redis no da soporte oficial en Windows, pero existen opciones disponibles. Probablemente no quieras ejecutarlo en un

entorno de producción, pero no he sufrido ninguna limitación mientras lo utilizaba para desarrollar.

Puedes obtener una versión de Microsoft Open Technologies, Inc. en https://github.com/MSOpenTech/redis. En el

momento de escribir estas líneas esta opción no está preparada para un uso real en sistemas de producción.

Otra solución, que ha estado disponible durante algún tiempo, puede obtenerse en https://github.com/dmajkic/redis/

downloads. Puedes descargar la versión más acutalizada (que debería estar en la parte superior de la lista). Descom-
prime el zip y, dependiendo de tu arquitectura, abre el directorio de 64bit o 32bit.

En *nix y MacOSX

Para los usuario de *nix y Mac, la construcción desde el código fuente es la mejor opción. Las instrucciones, junto con

la última versión, están disponibles en http://redis.io/download. En el momento de escribir esto la última versión es

la 2.6.2; para instalar esta versión debemos ejecutar:

redis - 2 . 6 . 2 . t a r . gz

wget h t t p : / / r e d i s . googlecode . com / f i l e s / redis - 2 . 6 . 2 . t a r . gz
t a r xzf
cd redis - 2 . 6 . 2
make

(De forma alternativa, Redis está disponible a través de varios gestores de paquetes. Por ejemplo, los usuarios de
MacOSX que tengan Homebrew instalado pueden simplemente ejecutar el comando brew install

redis.)

Si lo construyes desde el código fuente, los ejecutables binarios se encontrarán en el directorio src. Navega hacia el
directorio src ejecutando cd src.

Ejecutando y Conectando con Redis

Si todo ha funcionado los binarios de Redis deberían estar a tu alcance. Redis tiene un puñado de ejecutables. Nos

vamos a centrar en el servidor Redis y en la interfaz por línea de comandos de Redis (un cliente similar a MSDOS).
Vamos a comenzar por el servidor. En Windows hay que hacer doble click en redis-server. En *nix/MacOSX ejecuta
./ redis-server.

3

Si lees el mensaje de arranque verás una advertencia que indica que el fichero redis.conf no existe. Redis en su lugar
empleará valores prefedinidos, lo cual irá bien para lo que vamos a hacer.

El siguiente paso es ejecutar la consola de Redis, haciendo doble click sobre redis- cli (Windows) o ejecutando ./ redis- cli
(*nix/MacOSX). Conectará con el servidor que se ejecuta en la misma máquina en el puerto por defecto (6379).

Puedes probar que todo funciona correctamente escribiendo info en la interfaz por línea de comandos. Veremos un
montón de pares clave-valor que indicarán cuál es el estado del servidor.

Si tienes problemas con la configuración indicada anteriormente te sugiero que busques ayuda en el grupo oficial de

soporte de Redis.

4

Controladores para Redis

Como pronto aprenderás, la mejor manera de describir el API de Redis es como un conjunto explícito de funciones.

Esto significa que cuando estás utilizando la línea de comandos, o un controlador para tu lenguaje favorito, las cosas

se hacen de una manera muy similar. Por lo tanto, no deberías tener problemas si prefieres trabajar con Redis desde

un lenguaje de programación. Si quieres, echa un vistazo a la página de clientes y descarga el controlador adecuado.

5

Capítulo 1 - Los Fundamentos

¿Qué hace a Redis especial?, ¿Qué tipos de problemas soluciona?, ¿Qué deberían esperar los desarrolladores cuando

lo utilizan?. Antes de poder responder a estas preguntas, necesitamos entender qué es Redis.

Redis suele ser descrito como un almacén en memoria de conjuntos clave-valor. Yo no creo que ésta sea una descrip-

ción adecuada. Redis mantiene todos los datos en memoria (más sobre esto en breve), y los escribe en disco para

persistirlos, pero es mucho más que un simple almacén de conjuntos clave-valor. Es importante ir un paso más allá

de este concepto erróneo, porque sino tu perspectiva sobre Redis y los problemas que soluciona estarán demasiado

acotados.

La realidad es que Redis ofrece cinco estructuras diferentes de datos, una de las cuales es la típica estructura clave-

valor. Entender estas cinco estructuras de datos, cómo trabajan, qué métodos exponen y qué puedes modelar con ellos

es la clave para entender Redis. Sin embargo, primero vamos a ver qué son éstas estructuras de datos.

Si estuviéramos aplicando este concepto de estructura de datos en el mundo de las bases de datos relacionales,

podríamos decir que estas bases de datos ofrecen una única estructura de datos - tablas. Las tablas son tan complejas

como flexibles. Sin embargo, esta naturaleza genérica no está libre de inconvenientes. En concreto, no todo es tan

simple, o tan rápido, como debería ser. ¿Qué ocurriría si, en vez de tener una estructura que trate de encajar con todo,

utilizamos estructuras más especializadas?. Puede que siga habiendo cosas que no podamos hacer (o, al menos, no

podamos hacer bien) pero, seguramente ¿no podremos haber ganado en simplicidad y velocidad?

¿Usar estructuras de datos específicas para resolver problemas específicos?, ¿no es así como programamos?. No

utilizas una tabla hash para cada dato, al igual que tampoco usas una variable escalar. Para mí, esto es lo que define

la aproximación de Redis. Si estás trabajando con escalares, listas, tablas hash o conjuntos, ¿por qué no almacenarlos

en escalares, listas, tablas hash o conjuntos?, ¿por qué comprobar la existencia de un elemento tiene que ser más
complicado que invocar exists(key) o más lento que O(1)? (búsqueda que no se ralentiza sin importar el número de
elementos que haya).

6

Los Ladrillos

Bases de datos

Redis tiene el mismo concepto de base de datos que aquel con el que estés familiarizado. Una base de datos contiene

un conjunto de datos. El caso de uso típico de una base de datos es conservar todos los datos de una aplicación juntos

y mantenerlos separados de los de otras aplicaciones.

En Redis, las bases de datos están identificadas simplemente con un número, si
  • Links de descarga
http://lwp-l.com/pdf6512

Comentarios de: El Pequeño Libro de Redis (The Little Redis Book) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad