跳转到主要内容

Heroku上的Django memcached自动配置。

项目描述

django-heroku-memcacheify

Heroku上的Django memcached自动配置。

Deploying memcached is easy

安装

要安装django-heroku-memcacheify,只需运行pip install django-heroku-memcacheify,即可自动安装最新版本。

注意:如果您想在本地上安装它,您需要安装libmemcached-dev库以确保正确编译。在Debian和Ubuntu上,您可以通过运行sudo aptitude -y install libmemcached-dev来安装它。如果您使用Mac,您可以使用homebrew并运行brew install libmemcached

使用方法

修改您的Django settings.py文件,并设置

from memcacheify import memcacheify

CACHES = memcacheify()

接下来,确保pylibmc存在于您的requirements.txt文件中(或从中包含的一个),这样Heroku Python构建包将检测到必要的C依赖项,并“引导”您的应用程序。

假设您在Heroku上有一个可用的memcache服务器,它将立即可用。如果您没有为您的应用程序配置任何memcache插件,memcacheify将默认使用本地内存缓存作为备份 :)

Heroku配置

现在您已经将Django配置为使用memcache,您需要做的就是安装Heroku提供的其中一个memcache插件!

我个人推荐MemCachier -- 他们稳定,便宜,很好!

假设我想安装memcachier插件,我可以简单地运行

$ heroku addons:add memcachier:25
$ heroku config
...
MEMCACHIER_SERVERS    => memcachier1.example.net
MEMCACHIER_USERNAME   => bobslob
MEMCACHIER_PASSWORD   => l0nGr4ndoMstr1Ngo5strang3CHaR4cteRS
...

上述示例将为您的应用程序配置一个免费的25m memcache服务器。假设一切正常,heroku config的输出应显示您现在已设置3个新的环境变量。

本地开发

如果您在本地有用于开发的memcached服务器且不支持身份验证,您仍然可以通过设置环境变量MEMCACHEIFY_USE_LOCAL=True来使用memcache。

这将默认设置缓存为django_pylibmc.memcached.PyLibMCCache

如果没有为memcache或memcacheify设置环境变量,默认缓存将为本地内存django.core.cache.backends.locmem.LocMemCache

测试您的缓存

如果您不相信我,并且想确保您的缓存按预期工作,您可以执行以下操作

$ heroku run python manage.py shell
Running python manage.py shell attached to terminal... up, run.1
Python 2.7.2 (default, Oct 31 2011, 16:22:04)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.core.cache import cache
>>> cache.set('memcache', 'ify!')
True
>>> cache.get('memcache')
'ify!'
>>>

假设一切正常,您应该能够设置和检索缓存键。

参考资料

如果您感到困惑,您可能需要阅读

测试

Build Status

想要运行测试吗?没问题

$ git clone git://github.com/rdegges/django-heroku-memcacheify.git
$ cd django-heroku-memcacheify
$ python setup.py develop
...
$ pip install -r requirements.txt  # Install test dependencies.
$ flake8
$ nosetests
.............
----------------------------------------------------------------------
Ran 13 tests in 0.166s

OK

变更日志

v1.0.1: 10-10-2021

- Fixing PyPI description

v1.0.0: 01-04-2016

- Update django-pylibmc dependency to >=0.6.1.
- Officially support Python 3.5.
- Stop testing on Python 2.6.

v0.8: 11-12-2014

- Adding support for memcachedcloud!

v0.7: 9-22-2014

- Upgrading dependencies (again)!

v0.6: 9-20-2014

- Upgrading dependencies.

v0.5: 12-31-2013

- Making the timeout option configurable.
- Removing Python 2.5 support.
- Adding an option to use memcached locally without SASL.
- Updating the README, explaining how to use memcached locally.

v0.4: 12-5-2012

- Update which allows memcachier users to support multiple servers >:)
  Thanks @alexlod!

v0.3: 6-27-2012

- Fixing broken memcachier support.

v0.2: 5-22-2012

- Adding support for memcachier Heroku addon.
- Updating documentation.
- Refactoring implementation for clarity.
- Adding better tests.

v0.1: 5-2-2012

- Initial release!

项目详情


下载文件

下载适用于您平台的项目文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-heroku-memcacheify-1.0.1.tar.gz (42.4 kB 查看哈希值)

上传时间

构建分布

django_heroku_memcacheify-1.0.1-py3-none-any.whl (4.4 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面