%Teilweise Erzeugt mit dem LaTeX-Generator: http://latex.sehnot.de

%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

%Kopfzeile
\ihead{Datenbanken}
\chead{}
\ohead{http://kohnlehome.de/sql/redis.pdf}
\setheadsepline{0.5pt}

%Fußzeile
\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
\LARGE % Schriftgröße
\bfseries % Fettdruck
\sffamily % Serifenlose Schrift
Redis
\end{center}

\paragraph*{Tutorial} \href{http://try.redis.io/}{try.redis.io}

\section*{Grundbefehle}
\begin{tabular}{l l}
\texttt{SET key Wert} & speichern\\
\texttt{GET key} & lesen\\
\texttt{DEL key} & löschen
\end{tabular}

\section*{Liste}
Jeder Wert kann mehrmals vorkommen. Die Elemente haben eine Reihenfolge.\\

\begin{tabular}{l l}
\texttt{RPUSH listenname Wert} & hinten anhängen\\
\texttt{LPUSH listenname Wert} & vorne anhängen\\\\

\texttt{LLEN listenname} & Anzahl der Elemente\\
\texttt{LRANGE listenname 0 -1} & alle Elemente\\\\

\texttt{RPOP listenname} & letztes Element holen und entfernen\\
\texttt{LPOP listenname} & erstes Element holen und entfernen
\end{tabular}

\section*{Set}
Jeder Wert kann nur einmal vorkommen. Die Elemente haben keine Reihenfolge.\\

\begin{tabular}{l l}
\texttt{SADD setname Wert} & Wert hinzufügen\\
\texttt{SREM setname Wert} & Wert entfernen\\\\

\texttt{SISMEMBER setname Wert} & gibt es Wert?\\
\texttt{SMEMBERS setname} & alle Werte holen\\
\end{tabular}

\section*{Sorted Set}
Jeder Wert kann nur einmal vorkommen. Die Elemente sind sortiert anhand des Scores.\\

\begin{tabular}{l l}
\texttt{ZADD setname 1234 Wert} & Wert hinzufügen mit Score 1234\\
\texttt{ZRANGE setname 0 -1} & alle Elemente sortiert\\
\texttt{ZSCORE setname Wert} & Score von Wert (1234.0)
\end{tabular}

\section*{Hash}
Mehrere Felder und Werte können gespeichert werden.\\

\begin{tabular}{l l}
\texttt{HSET user:1000 vorname "Franz"} &\\
\texttt{HSET user:1000 nachname "Kohnle"} &\\\\

\texttt{HGETALL user:1000 } & vorname und nachname\\
\texttt{HGET user:1000 vorname} & nur vorname
\end{tabular}


\end{document}
