草庐IT

django-caching

全部标签

caching - 理解Redis,笼统的缓存概念

我正在开发一个从API提供商获取数据的网络应用程序。它正在获取我需要的数据,但我需要一种方法来缓存这些数据,以防止再次调用它们获取相同的数据。然后我偶然发现了Redis,它似乎符合我的目的,但我并不是100%清楚使用Redis进行缓存的概念。我已经检查了他们的文档,但我并没有真正理解他们所说的内容。假设我刚刚部署了我的网站,我的第一个访客叫A。由于A是第一个访问者,我的网站将通过API提供商请求一组新数据,几秒钟后,页面将加载A想要的数据。我的网站将此数据缓存到Redis,以便为将来访问同一页面的访问者提供服务。现在我有了第二个访客B。B访问了与A相同的页面url,因为我的网站将此数据

django - 如何使用 Django 对 Redis 进行故障转移

我想做的是用Django对Redis进行故障转移,但是找不到方法。我的设置如下:我正在使用Redis作为session后端。我在主从关系中设置了两个Redis服务器,当主服务器发生故障时,从服务器自动成为主服务器(使用Sentinnel)我这样设置settings.pyCACHES={'default':{'BACKEND':'redis_cache.RedisCache','LOCATION':["127.0.0.1","IPofSlave"],'OPTIONS':{'PASSWORD':"xxxxxxxx",'DB':0,}}}SESSION_ENGINE='django.cont

python - 我怎样才能让我的 django 应用程序在 heroku 的后台自动抓取

我正在尝试弄清楚如何让我的应用程序使用在后台抓取网站的功能,因为它需要很长时间并且如果在前台运行会导致错误。所以我遵循了Heroku网站上的教程,该教程具有统计单词的功能并在后台运行。有用。所以我准备首先通过导入将我的功能放在那里。所以我导入它并创建了一个使用它的函数。我得到了这个回溯Traceback(mostrecentcalllast):File"my_raddqueue.py",line2,infromsrc.blog.my_taskimportconn,is_page_okFile"/Users/ray/Desktop/myheroku/practice/src/blog/m

python - 在 redis 中使用排序集的替代数据模型(对于 Django/Python 项目)

我有一个网络应用程序,用户可以在其中发布文本消息供其他人阅读(有点像Twitter)。我需要保存50个最新的message_id和发帖人的user_id对(以备后用)。我使用redis后端并意识到我可以将这50个最新对保存在一个排序集中:user_id作为值,message_id作为分数。既然user_id可以重复,我需要将NX标志设置为true。这个,根据thedocs,确保将新成员添加到排序集中而不是更新现有成员。这很有帮助,因为如果同一用户多次发布消息,新条目将添加到排序集中,而不是覆盖现有条目。这样可以保持数据的完整性。问题是:我的应用程序使用python,并且在Redis2.

python - 我的 celery redis 任务在 heroku 服务器上的 django 应用程序中不起作用

我有一个任务在我的本地服务器上运行良好,但是当我将它推送到Heroku时,没有任何反应。没有错误消息。在这方面我是个新手,在本地我会通过做celeryworker-Ablog-linfo.所以我猜问题可能与此有关。因为我不知道该怎么做。我怀疑我是否应该在我的应用程序中这样做。这是我的代码celery.pyimportosfromceleryimportCeleryfromdjango.confimportsettings#setthedefaultDjangosettingsmoduleforthe'celery'program.os.environ.setdefault('DJANG

python - Django 如何在 Windows 10 中使用 redis?

我正在使用Django框架和Windows10开发小型系统。我将使用Redis在内存上进行缓存。好吧,我发现Redis并不正式支持Windows操作系统,但MsOpenTech提供了一个适用于Windows64位的软件包。我用巧克力包管理器安装了它。https://chocolatey.org/packages/redis-64然后我在cmd中通过pipinstall安装了django-redis包。嗯,它同时自动安装了redis模块。我认为删除redis模块会很好,因为我已经安装了redis3.0.50364位(用于Win)。但它发生错误“没有名为'redis'的模块”。我检查了dj

django - 使用无服务器架构时应用程序缓存是否冗余(例如通过 python Zappa 的 Amazon Lambda)

Djangoadvises关于为高流量站点使用Redis或Memcached缓存,以减少服务器完成的工作。在AmazonLambda上运行的应用通过Zappa具有出色的水平扩展能力。当另一台服务器可以轻松且非常便宜地启动时,似乎没有必要最大限度地减少服务器的处理工作。使用无服务器架构时,Memcached和Redis等缓存是否冗余?更新:仍然建议在您的应用程序前面安装CDN(例如cloudfront)(例如byZappa)。 最佳答案 我认为,在应用程序缓存方面,无服务器架构可能会稍微改变方程式。它确实解决了缓存可以帮助解决的一些问

django - 让用户创建 celery 周期性任务

想请教一下在djangoapp中celery和redis的使用。我正在学习celery大约2天,但我仍然有点困惑:/我已经安装了celery和redis,并且工作正常。我的问题是,我希望用户创建、更新和暂停周期性任务。我读过这篇文章-http://kindshofer.net/2016/11/19/dynamically_adding_a_periodic_task_to_celery.html这个问题-Howtodynamicallyadd/removeperiodictaskstoCelery(celerybeat)一大堆其他文章,但不如这两篇文章有用),看来我需要使用django

django - 在 Celery 中检索任务的结果

我的Django应用程序中有一个长时间运行的任务,我想显示一个进度条,然后在完成时将任务结果输出给用户。我很容易找到如何启动任务并通过消息传递生成进度条,但是如何在任务完成后从任务中检索结果并将这些结果显示给用户?使用Redis作为我的消息代理。 最佳答案 您需要在Celery中设置结果后端。单独的django-celery-results库会将Django模型配置为结果后端,您可以从那里获取结果。 关于django-在Celery中检索任务的结果,我们在StackOverflow上找到

python - 如何使用 django-redis 和 mockredis 在 django 中模拟 redis

Redis在django设置中配置如下:CACHES={'default':{'BACKEND':'django_redis.cache.RedisCache','LOCATION':'redis://127.0.0.1:6379/','OPTIONS':{'CLIENT_CLASS':'django_redis.client.DefaultClient',}}}CACHE_TTL=3600我有以下使用redis缓存的View:fromdjango.core.cacheimportcacheclassTestView(APIView):defpost(self,request):ser