Articles of redis

Al usar MongoDB como nuestra base de datos maestra, ¿debo usar una base de datos gráfica separada para implementar relaciones entre entidades?

Actualmente estamos en el proceso de implementar internamente una solución similar a CRM para una empresa profesional. Debido a la naturaleza de la información almacenada, y los valores y claves variables para la información, decidimos utilizar una base de datos de almacenamiento de documentos, ya que se adaptaba perfectamente a los propósitos (en este caso, […]

¿Es posible el locking de redis pubsub?

Quiero usar redis ‘pubsub para transmitir algunos mensajes, pero no quiero que me bloqueen con listen , como el código a continuación: import redis rc = redis.Redis() ps = rc.pubsub() ps.subscribe([‘foo’, ‘bar’]) rc.publish(‘foo’, ‘hello world’) for item in ps.listen(): if item[‘type’] == ‘message’: print item[‘channel’] print item[‘data’] El último for sección se bloqueará. Solo quiero […]

Apio: ¿No hay un Backend configurado?

Estoy tratando de verificar los resultados del apio desde la línea de comandos, pero obtengo un error de No Result Backend Configured . He configurado redis como resultado de mi backend y ahora estoy en una pérdida. Tengo la configuración de la aplicación de apio así: qflow/celery.py : os.environ.setdefault(‘CELERY_CONFIG_MODULE’, ‘qflow.celeryconfig’) app = Celery( ‘qflow’, include=[‘qflow.tasks’] […]

redis + gevent – Mal rendimiento – ¿Qué estoy haciendo mal?

Acabo de escribir un simple fragmento de código para realizar una prueba de rendimiento en Redis + gevent para ver cómo async ayuda al rendimiento y me sorprendió encontrar un mal rendimiento. Aquí está mi código. Si se deshace de las dos primeras líneas para parchear este código, verá el tiempo de “ejecución normal”. En […]

¿Cómo puedo pasar el infinito a redis desde python?

Estoy usando redis-py y quiero usar -inf y inf con ZRANGEBYSCORE. Intenté hacer esto usando string y float of inf pero esos devuelven un conjunto vacío. ¿Cómo puedo hacer esto? EDITAR Intenté hacer el siguiente comando: redis.StrictRedis.ZRANGEBYSCORE(“SORTEDSET”, “-inf”, “inf”) o redis.StrictRedis.ZRANGEBYSCORE(“SORTEDSET”, float(“-inf”), float(“inf”)) ACTUALIZACIÓN Mi error fue que mi abstracción para zrangebyscore estaba usando zrange […]

Retorcido: ¿por qué el hecho de pasar una callback diferida a un subproceso aplazado hace que el subproceso se bloquee de repente?

Intenté sin éxito usar txredis (la api torcida sin locking para redis) para una cola de mensajes persistente que estoy tratando de configurar con un proyecto descarado en el que estoy trabajando. Descubrí que aunque el cliente no estaba bloqueando, se volvió mucho más lento de lo que podría haber sido porque lo que debería […]

Arranque de apio en el matraz: Error de atributo: el objeto ‘Matraz’ no tiene atributo ‘opciones_usuario’

Intento iniciar un servidor de trabajo de apio desde una línea de comando: celery -A server application worker –loglevel=info El código y la ruta de la carpeta: server.py application/controllers/routes.py server.py app = Flask(__name__) from application.controllers import routes app.run(host=’127.0.0.1′,port=5051,debug=True) route.py from flask import Flask, from celery import Celery from server import app app.config[‘CELERY_BROKER_URL’] = ‘redis://localhost:6379/0’ app.config[‘CELERY_RESULT_BACKEND’] […]

La opción de coincidencia del comando de escaneo de Redis no funciona en Python

¿Uso Python Redis para emparejar alguna información usando la opción de coincidencia? pero no funciona import redis import REDIS class UserCache(object): def __init__(self): self.rds = self._connectRds() def _connectRds(self): _db = REDIS[‘usercache’] pool = redis.ConnectionPool(host=_db[‘HOST’], port= _db[‘PORT’], db=_db[‘DB’]) rds = redis.Redis(connection_pool=pool) return rds cache = UserCahce() cache.rds.execute(“scan”, “0”, match=”userinfo_*”) Parece que la opción de coincidencia funciona […]

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 […]