Heroku上的Django memcached自动配置。
项目描述
django-heroku-memcacheify
Heroku上的Django memcached自动配置。
安装
要安装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!'
>>>
假设一切正常,您应该能够设置和检索缓存键。
参考资料
如果您感到困惑,您可能需要阅读
测试
想要运行测试吗?没问题
$ 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!
项目详情
下载文件
下载适用于您平台的项目文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
哈希值 for django_heroku_memcacheify-1.0.1-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4607efd12d9160cbfe038bbb2ade3cdc3a158cf9f5400f679038c76f8ce4158a |
|
MD5 | 8dd495d28089389a2e281da5bff03080 |
|
BLAKE2b-256 | 49e647828aaf22bebec0bd6b95f4d7e487fae567b6e2a38daa0c84370ceda603 |