Redis, un motor de bases de datos NoSQL con todas las características que requiere una implementación de este tipo. Python, un lenguaje de programación soñado.
¿Como hacemos para conectar Python y Redis?
Para realizar este tipo de fusión, requerimos utilizar de un cliente en este caso, desde el lenguaje Python para conectarnos directamente con las keys de Redis, a esta sencilla tarea podemos hacerlo de la siguiente forma.
Lo primero que vamos a hacer es instalar el cliente llamado redis-py haciendo uso de easy_install:
$ easy_install redis
Esto va a llevar apenas unos minutos y nos va a dejar a disposición el módulo redis para poder utilizarlo desde nuestros script en Python.
Ahora queda iniciar Python y hacer uso del nuevo módulo:
$ python
>>> import redis
>>>
>>> dir(redis)
['AuthenticationError', 'Connection', 'ConnectionError', 'ConnectionPool', 'DataError', 'InvalidResponse', 'PubSubError', 'Redis', 'RedisError', 'ResponseError', 'StrictRedis', 'UnixDomainSocketConnection', 'VERSION', 'WatchError', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', '_compat', 'client', 'connection', 'exceptions', 'from_url', 'utils']
Lo que podemos hacer ahora es instanciar un cliente de redis desde nuestro Python de la siguiente forma:
>>> cr = redis.Redis()
>>>
>>> dir(cr)
['RESPONSE_CALLBACKS', '__class__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_zaggregate', 'append', 'bgrewriteaof', 'bgsave', 'bitcount', 'bitop', 'blpop', 'brpop', 'brpoplpush', 'client_kill', 'client_list', 'config_get', 'config_set', 'connection_pool', 'dbsize', 'debug_object', 'decr', 'delete', 'echo', 'eval', 'evalsha', 'execute_command', 'exists', 'expire', 'expireat', 'flushall', 'flushdb', 'from_url', 'get', 'getbit', 'getrange', 'getset', 'hdel', 'hexists', 'hget', 'hgetall', 'hincrby', 'hincrbyfloat', 'hkeys', 'hlen', 'hmget', 'hmset', 'hset', 'hsetnx', 'hvals', 'incr', 'incrbyfloat', 'info', 'keys', 'lastsave', 'lindex', 'linsert', 'llen', 'lock', 'lpop', 'lpush', 'lpushx', 'lrange', 'lrem', 'lset', 'ltrim', 'mget', 'move', 'mset', 'msetnx', 'object', 'parse_response', 'persist', 'pexpire', 'pexpireat', 'ping', 'pipeline', 'pttl', 'publish', 'pubsub', 'randomkey', 'register_script', 'rename', 'renamenx', 'response_callbacks', 'rpop', 'rpoplpush', 'rpush', 'rpushx', 'sadd', 'save', 'scard', 'script_exists', 'script_flush', 'script_kill', 'script_load', 'sdiff', 'sdiffstore', 'set', 'set_response_callback', 'setbit', 'setex', 'setnx', 'setrange', 'shutdown', 'sinter', 'sinterstore', 'sismember', 'slaveof', 'smembers', 'smove', 'sort', 'spop', 'srandmember', 'srem', 'strlen', 'substr', 'sunion', 'sunionstore', 'time', 'transaction', 'ttl', 'type', 'unwatch', 'watch', 'zadd', 'zcard', 'zcount', 'zincrby', 'zinterstore', 'zrange', 'zrangebyscore', 'zrank', 'zrem', 'zremrangebyrank', 'zremrangebyscore', 'zrevrange', 'zrevrangebyscore', 'zrevrank', 'zscore', 'zunionstore']
Finalmente para terminar este primer capítulo podemos consultar todas las keys del servidor redis de la siguiente manera:
>>> cr.keys()
La idea es seguir aprendiendo e implementando cosas interesantes que hoy por hoy las podemos ejecutar desde Python y jugar con motores como Redis.
Saludos!
viernes, 26 de junio de 2015
Suscribirse a:
Comentarios de la entrada (Atom)
Entradas populares
-
Cada vez que utilizo Git para realizar el tracking y el control de versiones en un software más estoy convencido de las bondades que bri...
-
A la hora de crear arte hecho codigo fuente, muchas veces necesitamos un buen editor para escribir nuestro codigo, un compilador a mano o in...
-
Los Diagramas de Tiempo de UML se usan para mostrar el cambio en el estado o valor de uno o más elementos tomando en cuenta el factor tiemp...
-
Un diagrama de colaboración, se puede decir que es una forma alternativa al diagrama de secuencias a la hora de mostrar un escenario. Este t...
-
En la arquitectura de programación de niveles, el término “nivel” y “capa” no significa lo mismo ni tampoco son similares El término ...
-
Hoy les quería dejar un How-To de como hago para fusionar Symfony2 y el Bootstrap de Twitter , de esa forma lograr tener unas mejores vista...
-
Los Casos de Usos no forma parte de la llamada Fase de Diseño, sino parte de la fase de Análisis, respondiendo el interrogante ¿Qué? . De f...
-
Un estado es una condición durante la vida de un objeto, de forma que cuando dicha condición se satisface se lleva a cabo alguna acción o se...
-
Este es otro tip de Vim para poder sobrellevar todas las situaciones que se nos presenten, por alguna razón hoy me encontré con la sigui...
-
Yaml es un formato de serealización de datos inspirado básicamente en los lenguajes Python y XML que desde hace 13 años ya se transfor...
No hay comentarios.:
Publicar un comentario