Python e Redis

Hello every1!

Neste post, estarei passando o básico para iniciar com Python/Redis.

Pra quem não sabe, Redis é um in-memory, key-value data store.

O que isso significa?

Que o Redis é um “Key/Value storage engine”, como um memcached, mas persistente.

Suporta dados em String, Integers, Lists, Sets e Ordered Sets e Hash Tables.

Faz o uso de operações atômicas (uma alteração por vez), e suporta get/set, push/pop, add/remove, union, intersect, diffs dentre outros, incluindo opções de ordenação.

Ele mantém, por padrão, todos os dados em memória, e salva snapshots para o disco de forma assíncrona, ou escrevendo cada mudança para um “Append Only File”.

Quem está usando o Redis? GitHub, TweetDeck, fickr, StackOverflow, dentre outros. Veja a lista completa em: http://redis.io/topics/whos-using-redis

Bom, vamos para o que interessa!

Primeiramente, precisamos ter o redis instalado em nosso ambiente.

Vou passar aqui, os comandos de instalação para quem usa alguma distro Linux (desculpe Windows-users).

Abaixo, os comandos (vide: http://redis.io/download)

    $ wget http://redis.googlecode.com/files/redis-2.4.2.tar.gz
    $ tar xzf redis-2.4.2.tar.gz
    $ cd redis-2.4.2
    $ make

Logo após executar esses comandos, rode o comando abaixo e verifique se o banco está rodando:

    $ src/redis-server

Você deverá ver algo como isso: [14136] 20 Nov 18:19:26 * Server started, Redis version 2.4.2

Agora é hora de brincar um pouco. Vamos fazer uma inserção básica no nosso redis local, usando Python.

Para isso, iremos precisar da lib do redis para Python. Você pode verificar se já possui essa lib, entrando no shell interativo do python, e importando a mesma.

Para isso, faça o seguinte:

    $ python
    Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
    [GCC 4.4.5] on linux2
    Type “help”, “copyright”, “credits” or “license” for more information.
    >>> import redis
    >>>

Caso você não receba nenhum erro, parabéns! Você já possui a lib redis instalada. Caso contrário, instale-a pelo easy_install.

    $ easy_install redis

Pronto! Agora que você já instalou tudo o que precisamos, vamos finalmente fazer uma inserção local no redis.

Primeiramente, precisamos conectar ao nosso banco local, então faremos o seguinte:

    import redis
    redis = redis.Redis(‘localhost’)

Pronto! Agora já conectamos com o redis local.

A biblioteca do redis para Python, disponibiliza métodos bem fáceis de interagir, então, se quisermos inserir uma key/value, basicamente, rodamos o comando abaixo:

    redis.set(‘foo’,’bar’)

Dificil, não? Para testarmos se isso realmente funcionou, vamos executar esse outro comando:

    print redis.get(‘foo’)

Caso o resultado seja ‘bar’, ótimo! Já está funcionando, e você pode brincar inserindo dados no seu redis! 🙂

Bom, nesse primeiro post só queria passar mesmo set/get no redis.

No próximo post, estarei passando como persistir outros tipos de dados, e maneiras mais dinâmicas para trabalhar com o redis.

Qualquer dúvida, crítica ou sugestão, deixe seu comentário!

Um abraço, e até mais! 😀

ps: Desculpem por não estar usando nenhum plugin para tratar os códigos, como o Code Snippet. Estarei cuidando disso o mais breve possível! 🙂