`

Django使用redis缓存服务器

阅读更多

       redis相信大家都很熟悉了,和memcached一样是一个高性能的key-value数据库,至于什么是缓存服务器,度娘都有很明白的介绍了,我在这里就不一一介绍了。

那我们一般什么情况下才会使用缓存服务器呢?可不是什么情况都需要的哦,一般来说是在需要频繁对一个字段读取的时候才会需要将这个字段放入到缓存服务器上,而且由于key-value数据库一般只是放很简单的数据,所以在选择保存的对象的时候要注意选择好。

下面我就来介绍如何在Django中配置使用redis数据库,首先是先安装redis了,在Ubuntu中执行下面这句命令:

#安装Redis服务器端

1
sudo apt-get install redis-server

然后为了能在Django中使用redis,还需要安装redis for Django的插件:

1
pip install django-redis

这是一个开源的项目,github地址是https://github.com/niwibe/django-redis,感谢作者。

那么现在就是在Django的settings中配置了。

1
2
3
4
5
6
7
8
9
10
11
12
CACHES = {
    'default': {
        'BACKEND''redis_cache.cache.RedisCache',
        'LOCATION''127.0.0.1:6379',
        "OPTIONS": {
            "CLIENT_CLASS""redis_cache.client.DefaultClient",
        },
    },
}
REDIS_TIMEOUT=7*24*60*60
CUBES_REDIS_TIMEOUT=60*60
NEVER_REDIS_TIMEOUT=365*24*60*60

其实只是需要CACHES中的那几条就可以了,后面这三句可以不需要的,只是我后面的例子里需要用到,我就在这里配置了。

好了,现在连接和配置都已经完成了,那么在项目中该如何使用呢?接下来看下面这段例子吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from django.conf import settings
from django.core.cache import cache
#read cache user id
def read_from_cache(self, user_name):
    key = 'user_id_of_'+user_name
    value = cache.get(key)
    if value == None:
        data = None
    else:
        data = json.loads(value)
    return data
#write cache user id
def write_to_cache(self, user_name):
    key = 'user_id_of_'+user_name
    cache.set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)

通过上面的这两个方法就可以实现对redis的读取操作了,只需要将需要的字段当参数传入到方法中就好了。

那么之前提到的memcached呢?其实也是一样的配置:

1
2
3
4
5
6
CACHES = {
    'default': {
        'BACKEND''django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION''127.0.0.1:11211',
    }
}

当然用法也是和我上面的例子是一样的了。其实对于redis这样的缓存服务器来说,配置都是很简单的,而具体的使用也不难,官网上面也有很多简单明了的例子可以供我们参考,只有一点需要注意的,那就是对于要将什么样的信息保存到redis才是我们真正需要关心的。

 

分享到:
评论

相关推荐

    Django使用redis缓存服务器的实现代码示例

    在Django应用中使用redis缓存,可以借助内置的`django.core.cache`模块。以下是一个简单的读写缓存的示例: ```python from django.conf import settings from django.core.cache import cache # 从缓存中读取用户...

    django-redis-chs-readthedocs-io-zh_CN-latest.zip

    `django-redis`是一个针对Django框架的高度兼容和功能齐全的Redis缓存后端组件,遵循BSD许可证,允许自由使用和修改。它使得开发者能够充分利用Redis的强大功能,提高Django应用的性能和响应速度。 **1. Django缓存...

    django-redis组件

    **正文** `django-redis` 是一个非常重要的 Python Web 开发框架 Django 的扩展库,它为 Django 提供了对...在项目中合理地使用 `django-redis`,不仅能优化缓存策略,还能简化会话管理,是 Django 开发中的得力工具。

    PyPI 官网下载 | django-redis-sentinel-plugin-1.0.0.tar.gz

    《PyPI上的django-redis-sentinel-plugin-1.0.0:构建高效稳定的Django Redis缓存系统》 在Python的世界里,PyPI(Python Package Index)是开发者们分享和获取开源软件包的主要平台。"django-redis-sentinel-...

    Django如何使用redis作为缓存

    一旦配置完成,你就可以在Django的各个部分使用Redis缓存了。例如,你可以将视图的计算结果缓存,以减少数据库查询。还可以使用`@cache_page`装饰器缓存整个视图响应,或者在模型中利用`get_cache()`方法进行对象...

    django-redis:Django的全功能Redis缓存后端

    Django的Redis缓存后端 这是一个项目。 通过捐款,您同意遵守《并遵守。介绍django-redis是BSD许可的,功能齐全的Redis缓存和Django的会话后端。为什么要使用django-redis? 使用本机redis-py url表示法连接字符串可...

    基于django+redis开发的前后端分离demo

    在本项目中,"基于django+redis开发的前后端分离demo"是一个小规模的示例,旨在帮助初学者理解如何使用Python的Django框架与Redis数据库实现前后端分离的Web应用开发。以下将详细讲解该项目涉及的主要知识点: 1. ...

    Python库 | django-redis-4.11.0.tar.gz

    7. **配置与设置**:在Django项目的settings.py中,需要添加特定的配置项来启用django-redis作为缓存后端,包括服务器地址、端口、密码、数据库索引等。 8. **性能优化**:django-redis库还提供了配置选项,如连接...

    Python库 | django-redis-cache-1.5.3.tar.gz

    在Django项目的settings.py中配置缓存设置,指定使用redis_cache(即django-redis-cache),并连接到Redis服务器。 7. **Redis配置**:配置django-redis-cache时,需要提供Redis服务器的地址、端口、密码(如果有的...

    redis之django-redis的简单缓存使用

    然后在`settings.py`中配置缓存系统,指定`BACKEND`为`django_redis.cache.RedisCache`,`LOCATION`为Redis服务器的地址,还可以设置其他选项如连接池的最大连接数。在`views.py`中,我们可以使用`get_redis_...

    python3开发django项目安装和使用redis教程

    ### Python3 开发 Django 项目安装与使用 Redis 数据库教程 #### 一、Redis 概述 Redis(Remote Dictionary Server)是一种开源的键值存储系统,它提供了多种数据结构的存储,如字符串(strings)、散列(hashes)...

    Python库 | django_redisdb-0.2.1-py2.py3-none-any.whl

    4. **django_redisdb**: 这个库可能是Django的一个扩展,旨在提供对Redis数据库的集成支持,可能包含更方便的API和工具,以便于Django开发者使用Redis作为其应用的缓存或其他功能。 5. **Python Wheel (whl) 文件**...

    django的redis连接以及图片验证码的生成

    在Python的Web开发框架Django中,集成Redis作为缓存或消息队列是常见的实践,而图片验证码(Captcha)则是防止恶意自动化操作的重要手段。接下来,我们将详细探讨如何在Django项目中设置Redis连接,并生成图片验证码...

    django-redis-sessions:用于将会话存储在Redis数据库中的Django的会话后端

    3. **安装与配置**:要使用django-redis-sessions,首先需要在项目中安装Redis服务器和相关的Python库(如`redis`和`django-redis_sessions`),然后在Django的settings.py中配置会话引擎为`'django.contrib....

    api.rar_Token 使用redis_django_exclaimedthp_redis_roselgr

    然后,在Django的settings.py文件中配置Redis缓存: ```python CACHES = { 'default': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379/0', # 更改为你的Redis服务器地址...

    django+celery+redis+supervisor教程代码

    3. 配置Redis,安装Redis服务器,设置Celery使用Redis作为消息中间件。 4. 在Django中集成Celery,创建异步任务,并在视图函数中调用这些任务。 5. 学习如何使用Redis作为结果后端,存储和查询任务结果。 6. 安装并...

    Django 缓存配置Redis使用详解

    Django配置Redis缓存 在`settings.py`文件中,你需要配置`CACHES`字典,指定使用Redis作为默认缓存后端: ```python CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": ...

    Django-redis:一个简单的django项目,了解使用重新分发的效果

    【Django-Redis:探索在Django项目中使用Redis缓存的优势】 在现代Web开发中,性能优化是提升用户体验的关键因素之一。Django-Redis是一个集成到Django框架中的高效缓存后端,它利用了Redis数据库的强大功能来增强...

Global site tag (gtag.js) - Google Analytics