Articles of redis

Ejemplo de redis en acción.

Del libro “Redis en acción” que estaba leyendo, vi el siguiente ejemplo y ahora me pregunto si esto es correcto o no. El ejemplo tiene el siguiente código en python: def purchase_item(conn, buyerid, itemid, sellerid, lprice): buyer = “users:%s”%buyerid seller = “users:%s”%sellerid item = “%s.%s”%(itemid, sellerid) inventory = “inventory:%s”%buyerid end = time.time() + 10 pipe […]

Tornado apio no puede usar gen.Task o CallBack

class AsyncHandler(tornado.web.RequestHandler): @tornado.web.asynchronous def get(self): tasks.sleep.apply_async(args=[5], callback=self.on_result) def on_result(self, response): self.write(str(response.result)) self.finish() error de subida raise TypeError(repr(o) + ” is not JSON serializable”) TypeError: <bound method AsyncHandler.on_result of > is not JSON serializable El broker y los backends usan redis, acabo de copiar desde https://github.com/mher/tornado-celery Cuando uso amqp broker y redis backends, funciona bien, pero […]

ImportError: No hay módulo llamado redis

He instalado redis con el comando sudo apt-get install redis-server pero recibo este error cuando ejecuto mi progtwig Python: ImportError: No module named redis ¿Alguna idea de qué está mal o si debo instalar otro paquete también? Estoy usando Ubuntu 13.04 y tengo Python 2.7.

Cómo empujar una secuencia entera para redisponer en Python

Puedo usar Redis.rpush(‘key’, 1, 2, 3) para empujar tres elementos a redis, pero si hay una secuencia: seq = [1, 2, 3] Redis.rpush(‘key’, seq) Empujará un elemento ‘seq’ para redis, pero no el número tres. ¿Hay alguna manera de que pueda empujar la secuencia completa para redisponer?

Redis: Cómo analizar un resultado de lista

Estoy almacenando una lista en Redis así: redis.lpush(‘foo’, [1,2,3,4,5,6,7,8,9]) Y luego recupero la lista de esta manera: redis.lrange(‘foo’, 0, -1) y me sale algo como esto: [b'[1, 2, 3, 4, 5, 6, 7, 8, 9]’] ¿Cómo puedo convertir esto a la lista real de Python? Además, no veo nada definido en RESPONSE_CALLBACKS que pueda ayudar? […]

¿Cuál es una buena estrategia para agrupar palabras similares?

Digamos que tengo una lista de nombres de películas con errores ortográficos y pequeñas variaciones como esta: “Pirates of the Caribbean: The Curse of the Black Pearl” “Pirates of the carribean” “Pirates of the Caribbean: Dead Man’s Chest” “Pirates of the Caribbean trilogy” “Pirates of the Caribbean” “Pirates Of The Carribean” ¿Cómo agrupo o encuentro […]

Django – Cómo usar la cola de tareas asíncronas con apio y redis

#In my views.py file pi1 = None pis1 = None def my_func(): #Essentially this function sets a random integer to pi1 and pis1 global pi1, pis1 pi1 = randint(0,9) pis1 = randint(0,9) return def index(request): my_func() context = { “pi1” : pi1, “pis1” : pis1, } return render(request, “index.html”, context) #In the index.html file {{ […]

Unicode en Python

Ahora uso elixir con mi base de datos mysql y la redispy con redis y selecciono UTF-8 en todo el lugar. Quiero escribir algunos datos en chino como {‘Info’:’8折’,’Name’:’家乐福’} pero lo que obtuve es así: {‘Info’: u’8\u6298′, ‘Name’: u’\u5bb6\u4e50\u798f’} y después de que guarde este dictamen para redisparlo y sacarlo de nuevo, se vuelve: {“Info”: […]

¿Cómo uso correctamente los conjuntos de conexiones en redis?

No me queda claro cómo funcionan las agrupaciones de conexiones y cómo usarlas adecuadamente. Esperaba que alguien pudiera elaborar. He bosquejado mi caso de uso a continuación: settings.py: import redis def get_redis_connection(): return redis.StrictRedis(host=’localhost’, port=6379, db=0) tarea1.py import settings connection = settings.get_redis_connection() def do_something1(): return connection.hgetall(…) tarea2.py import settings connection = settings.get_redis_connection() def do_something1(): return […]

Cómo inspeccionar y cancelar las tareas de apio por nombre de tarea

Estoy usando Celery (3.0.15) con Redis como corredor. ¿Existe una forma sencilla de consultar la cantidad de tareas con un nombre dado que existen en una cola de apio? Y, como seguimiento, ¿hay una manera de cancelar todas las tareas con un nombre dado que existen en una cola de apio? He revisado la Guía […]