Skip to content

Commit 2de5e21

Browse files
committed
Update nosql notes
1 parent c5a4f3e commit 2de5e21

17 files changed

+87
-67
lines changed

README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,12 @@ Ruta de aprendizaje con los lenguajes Python, R, Scala y Bases de datos
6464

6565
## Bases de datos
6666
* [Fundamentos](/learn/BasesDatos/Fundamentos%20de%20Bases%20de%20Datos)
67+
**Relacionales**
6768
* [SQL y MySQL](/learn/BasesDatos/SQL%20y%20MySQL)
6869
* [PostgreSQL](/learn/BasesDatos/PostgreSQL)
69-
* [Mongo y Redis](/learn/BasesDatos/MongoDB%20y%20Redis)
70+
**No relacionales**
71+
* [Mongo DB Basada en documentos](/learn/BasesDatos/MongoDB)
72+
* [Redis Basada en clave valor](/learn/BasesDatos/Redis)
7073

7174
## Ciencia de datos y Machine Learning
7275
* [Data Science y ML](/learn/DataScience)

learn/BasesDatos/MongoDB y Redis/README.md renamed to learn/BasesDatos/MongoDB/README.md

+1-66
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Curso de MongoDB y Redis<!-- omit in toc -->
1+
# MongoDB <!-- omit in toc -->
22

33
## Tabla de Contenido<!-- omit in toc -->
44
- [Introducción](#introducción)
@@ -14,11 +14,6 @@
1414
- [Funciones de búsqueda](#funciones-de-búsqueda)
1515
- [Funciones de actualización](#funciones-de-actualización)
1616
- [Funciones de eliminación](#funciones-de-eliminación)
17-
- [Redis](#redis)
18-
- [Utilidades](#utilidades)
19-
- [Instalación](#instalación)
20-
- [Ejecución de código](#ejecución-de-código)
21-
- [Enlaces de Interés](#enlaces-de-interés)
2217

2318
## Introducción
2419

@@ -198,66 +193,6 @@ Para actualizar lo ideal es guardar en una variable el campo que quieres actuali
198193
* `db.curso.drop()` elimina todos los documentos de una colección incluyendo la colección.
199194
* `db.curso.remove({filtro})` elimina todos los documentos que cumplen con el filtro JSON.
200195

201-
<div align="right">
202-
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
203-
</div>
204-
205-
## Redis
206-
207-
Redis es una base de datos no relacional de clave valor. Es importante porque una característica de las bases de datos no relacionales es la forma en la que trabajan con la información, Redis almacena la información en memoria y cuando tu lo desees envías al disco, de esta forma se puede acceder con mucha rapidez a la información.
208-
209-
En Redis, las base de datos no tienen nombre sino que usan números
210-
211-
<div align="right">
212-
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
213-
</div>
214-
215-
### Utilidades
216-
217-
* `Full page cache` hacer que toda la aplicación se renderee una sola vez y el html se guarde en una key de Redis. Cuando el visitante vuelva a entrar a la pagina se carga solo lo previamente rendereado y ya no hay que volver a hacer request.
218-
* `PubSub` Crear emisión de datos desde un publisher, y tener subscribes, de modo que toda la información que el publisher emita a un canal, todos los subscribes se enteran en tiempo real.
219-
* Guardar información como cola
220-
221-
<div align="right">
222-
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
223-
</div>
224-
225-
### Instalación
226-
227-
Si no tienes Windows 10 deberás utilizar una versión en Github modificada para funcionar en Windows, el enlace es https://github.com/ServiceStack/redis-windows.
228-
229-
Si tienes Windows 10, utilizar Linux for Windows:
230-
1. Instala Ubuntu for Windows
231-
2. Abrir la consola de Ubuntu
232-
3. $ sudo apt-get update
233-
4. $ sudo apt-get install redis-server
234-
235-
<div align="right">
236-
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
237-
</div>
238-
239-
### Ejecución de código
240-
241-
* `redis-server` inicia el servidor de BD.
242-
* `redis-cli` iniciar el cliente de BD.
243-
* `select [número de la BD]` cambiar de base de datos.
244-
* `info` ver la información del cluster de redis.
245-
* `SET [clave] [valor]` setea el valor en la clave. La información se guarda como string
246-
* `GET [clave]` lee el valor de la clave
247-
* `DEL [clave]` elimina el valor asignado a la clave. Se puede eliminar varios valores con una coma (,).
248-
* `EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 pattern*` elimina todas las clave que empiezan con pattern
249-
* `SETEX [clave] [tiempo en segundos] [valor]` setea el valor en la clave por un tiempo determinado.
250-
* `FLUSHDB` elimina toda la base de datos donde se encuentra seleccionada.
251-
* `FLUSHALL` elimina toda la información de todas las bases de datos.
252-
253-
<div align="right">
254-
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
255-
</div>
256-
257-
## Enlaces de Interés
258-
* [Curso de MongoDB y Redis](https://platzi.com/clases/mongodb-redis/)
259-
* [Cryptongo](https://github.com/MineiToshio/cryptongo)
260-
261196
<div align="right">
262197
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
263198
</div>

learn/BasesDatos/Redis/README.md

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Redis<!-- omit in toc -->
2+
3+
## Tabla de Contenido<!-- omit in toc -->
4+
5+
- [Redis](#redis)
6+
- [Utilidades](#utilidades)
7+
- [Instalación](#instalación)
8+
- [Ejecución de código](#ejecución-de-código)
9+
- [Enlaces de Interés](#enlaces-de-interés)
10+
11+
## Redis
12+
13+
Redis es una base de datos no relacional de clave valor. Es importante porque una característica de las bases de datos no relacionales es la forma en la que trabajan con la información, Redis almacena la información en memoria y cuando tu lo desees envías al disco, de esta forma se puede acceder con mucha rapidez a la información.
14+
15+
En Redis, las base de datos no tienen nombre sino que usan números
16+
17+
<div align="right">
18+
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
19+
</div>
20+
21+
### Utilidades
22+
23+
* `Full page cache` hacer que toda la aplicación se renderee una sola vez y el html se guarde en una key de Redis. Cuando el visitante vuelva a entrar a la pagina se carga solo lo previamente rendereado y ya no hay que volver a hacer request.
24+
* `PubSub` Crear emisión de datos desde un publisher, y tener subscribes, de modo que toda la información que el publisher emita a un canal, todos los subscribes se enteran en tiempo real.
25+
* Guardar información como cola
26+
27+
<div align="right">
28+
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
29+
</div>
30+
31+
### Instalación
32+
33+
Si no tienes Windows 10 deberás utilizar una versión en Github modificada para funcionar en Windows, el enlace es https://github.com/ServiceStack/redis-windows.
34+
35+
Si tienes Windows 10, utilizar Linux for Windows:
36+
1. Instala Ubuntu for Windows
37+
2. Abrir la consola de Ubuntu
38+
3. $ sudo apt-get update
39+
4. $ sudo apt-get install redis-server
40+
41+
<div align="right">
42+
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
43+
</div>
44+
45+
### Ejecución de código
46+
47+
**Principales**
48+
* `redis-server` inicia el servidor de BD.
49+
* `redis-cli` iniciar el cliente de BD.
50+
* `select [número de la BD]` cambiar de base de datos.
51+
* `info` ver la información del cluster de redis.
52+
53+
**Obtención y asignación de datos**
54+
* `keys *` muestra todas las claves almacenadas
55+
* `SET [clave] [valor]` setea el valor en la clave. La información se guarda como string
56+
* `GET [clave]` lee el valor de la clave
57+
* `DEL [clave]` elimina el valor asignado a la clave. Se puede eliminar varios valores con una coma (,).
58+
* `mset a "hola" b "Mundo" c "!"` realiza la asignación de multiples valores en una línea
59+
* `mget a b c` lee multiples claves
60+
* `exists [clave]` prueba si existe una clave
61+
* `expire [clave] [seconds]` asigna tiempo de expiración a una clave
62+
63+
* `EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 pattern*` elimina todas las clave que empiezan con pattern
64+
* `SETEX [clave] [tiempo en segundos] [valor]` setea el valor en la clave por un tiempo determinado.
65+
* `FLUSHDB` elimina toda la base de datos donde se encuentra seleccionada.
66+
* `FLUSHALL` elimina toda la información de todas las bases de datos.
67+
68+
**Operadores**
69+
* `incr [clave]` incrementa una clave númerica si el valor actual es 0, pasa a 1
70+
* `decr [clave]` decrementa una clave númerica si el valor actual es 1, pasa a 0
71+
72+
<div align="right">
73+
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
74+
</div>
75+
76+
## Enlaces de Interés
77+
* [Curso de MongoDB y Redis](https://platzi.com/clases/mongodb-redis/)
78+
* [Cryptongo](https://github.com/MineiToshio/cryptongo)
79+
80+
<div align="right">
81+
<small><a href="#tabla-de-contenido">🡡 volver al inicio</a></small>
82+
</div>
21.2 KB
Loading
42.9 KB
Loading
21.5 KB
Loading
Loading
Loading
Loading
19.7 KB
Loading

0 commit comments

Comments
 (0)