草庐IT

django-extensions

全部标签

python - 如何在 Django 应用程序中对列表和集合使用 Redis 命令

我正在开发一个Django应用程序,我想在其中使用Redis进行缓存。我看到很少有像django-redis和django-redis-cache这样与Django集成的包,可以用来访问redis。但是,对于这些包,您只能使用“get”和“set”命令。如何将其他Redis命令用于列表、集合、排序集合,如rpush、lrange、zadd?我们可以将它与上述包(django-redis、django-redis-cache)一起使用还是我们需要使用redis-py客户端?感谢您的帮助! 最佳答案 您可以访问rawredisconne

django - Redis 告诉我 "Failed opening .rdb for saving: Permission denied"

我在Debian服务器8.5上运行Redis服务器2.8.17。我将Redis用作Django1.8.4应用程序的session存储。我已经几个月没有更改服务器上的软件配置了,一切正常,直到一周前Django开始引发以下错误:MISCONFRedisisconfiguredtosaveRDBsnapshotsbutiscurrentlynotabletopersisttodisk.Commandsthatmaymodifythedatasetaredisabled.PleasecheckRedislogsfordetails...我检查了redis日志,发现这种情况大约每秒发生一次:1

django - Redis 告诉我 "Failed opening .rdb for saving: Permission denied"

我在Debian服务器8.5上运行Redis服务器2.8.17。我将Redis用作Django1.8.4应用程序的session存储。我已经几个月没有更改服务器上的软件配置了,一切正常,直到一周前Django开始引发以下错误:MISCONFRedisisconfiguredtosaveRDBsnapshotsbutiscurrentlynotabletopersisttodisk.Commandsthatmaymodifythedatasetaredisabled.PleasecheckRedislogsfordetails...我检查了redis日志,发现这种情况大约每秒发生一次:1

带 celery 的 django-socketio : send to socket after async task completes in separate process

如何在我的主要Django应用程序进程中访问Celery任务的结果?或者,如何从单独的进程发布到现有套接字连接?我有一个用户可以收到分数的应用程序。当记录分数时,会进行计算(目标进展等),并根据这些计算向感兴趣的用户发送通知。计算可能需要30秒以上,因此为了避免UI缓慢,这些操作通过Celery任务在后台进程中执行,由我的Score模型的post_save信号调用。理想情况下,我的Nofication模型上的post_save信号会向订阅的客户端发布消息(我正在使用django-socketio,gevent-socketio的包装器)。这看起来很简单......创建乐谱在后台进程中对

带 celery 的 django-socketio : send to socket after async task completes in separate process

如何在我的主要Django应用程序进程中访问Celery任务的结果?或者,如何从单独的进程发布到现有套接字连接?我有一个用户可以收到分数的应用程序。当记录分数时,会进行计算(目标进展等),并根据这些计算向感兴趣的用户发送通知。计算可能需要30秒以上,因此为了避免UI缓慢,这些操作通过Celery任务在后台进程中执行,由我的Score模型的post_save信号调用。理想情况下,我的Nofication模型上的post_save信号会向订阅的客户端发布消息(我正在使用django-socketio,gevent-socketio的包装器)。这看起来很简单......创建乐谱在后台进程中对

django - gunicorn + redis : Does not work?

我运行一个Django服务器,它带有redis[用于过滤重复记录的内存缓存]集成到celery进程[将数据异步插入PostgreSQL数据库的任务]。django服务器通过启用缓存的django-redis-cache与redis集成。CACHES={'default':{'BACKEND':'redis_cache.RedisCache','LOCATION':'/tmp/redis.sock',},}如果我使用./manage.pyrunserverip:8000来运行我的服务器并开始发布数据,在Redis中的GET/SET属性期间没有问题,因为它是单个应用程序和我的应用程序运行流

django - gunicorn + redis : Does not work?

我运行一个Django服务器,它带有redis[用于过滤重复记录的内存缓存]集成到celery进程[将数据异步插入PostgreSQL数据库的任务]。django服务器通过启用缓存的django-redis-cache与redis集成。CACHES={'default':{'BACKEND':'redis_cache.RedisCache','LOCATION':'/tmp/redis.sock',},}如果我使用./manage.pyrunserverip:8000来运行我的服务器并开始发布数据,在Redis中的GET/SET属性期间没有问题,因为它是单个应用程序和我的应用程序运行流

django - 使用 Django/Redis/Node.js 进行实时推/拉

我正在尝试在具有类似架构的Django应用程序上添加实时更新,如下所述:http://lincolnloop.com/blog/2012/apr/23/ginger-tech-stack/.基本上,更新通过Redis从Django发送到Node.js,然后使用Socket.io推送到连接的客户端。现在,我可以向每个连接的客户端广播,但在实际情况下,我只需要将数据发送给与某个操作相关的客户端(例如:用户发布消息,只有他的联系人/订阅者会收到此消息)。所以我需要在Node.js端进行某种身份验证才能知道谁是谁。如何实现? 最佳答案 到目

django - 使用 Django/Redis/Node.js 进行实时推/拉

我正在尝试在具有类似架构的Django应用程序上添加实时更新,如下所述:http://lincolnloop.com/blog/2012/apr/23/ginger-tech-stack/.基本上,更新通过Redis从Django发送到Node.js,然后使用Socket.io推送到连接的客户端。现在,我可以向每个连接的客户端广播,但在实际情况下,我只需要将数据发送给与某个操作相关的客户端(例如:用户发布消息,只有他的联系人/订阅者会收到此消息)。所以我需要在Node.js端进行某种身份验证才能知道谁是谁。如何实现? 最佳答案 到目

python - Django 模型不会保存到 Celery Task 中的数据库中

我遇到了一个非常糟糕的情况。我有以下设置。我有一个代表FSM的django模型djangoFSMfield我有一个celery任务,它发送一封电子邮件,然后推进主要对象FSM的状态。从celery任务的角度来看,对象“似乎”被保存了。但是从主django进程的角度来看,对象没有被更新。奇怪的是,辅助对象被正确保存到数据库中,稍后可以从主django进程访问。我在Celery任务的对象上显式调用了.save(),date_last_modified=models.DateTimeField(auto_now=True,null=True)字段有Celery任务中的时间戳比主线程晚,尽管我