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

 更新时间:2019年04月28日 14:46:51   投稿:zx  
这篇文章主要介绍了Django使用redis缓存服务器的实现代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

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

#安装Redis服务器端

sudo apt-get install redis-server

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

pip install django-redis

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

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

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中的那几条就可以了,后面这三句可以不需要的,只是我后面的例子里需要用到,我就在这里配置了。

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

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呢?其实也是一样的配置:

CACHES = {
  'default': {
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
    'LOCATION': '127.0.0.1:11211',
  }
}

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python的地形三维可视化Matplotlib和gdal使用实例

    Python的地形三维可视化Matplotlib和gdal使用实例

    这篇文章主要介绍了Python的地形三维可视化Matplotlib和gdal使用实例,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • python之Character string(实例讲解)

    python之Character string(实例讲解)

    下面小编就为大家带来一篇python之Character string(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Python字符串拼接六种方法介绍

    Python字符串拼接六种方法介绍

    这篇文章主要介绍了Python字符串拼接六种方法介绍,具有一定借鉴价值,需要的朋友看可以参考下。
    2017-12-12
  • python库安装与使用示例详解

    python库安装与使用示例详解

    这篇文章主要介绍了Python中的生成器函数yield、openslide库、ASAP库、concurrent.futures.ThreadPoolExecutor、xml.etree.ElementTree库、skimage库和PIL.Image库的相关知识,感兴趣的朋友一起看看吧
    2025-02-02
  • Python守护进程(daemon)代码实例

    Python守护进程(daemon)代码实例

    这篇文章主要介绍了Python守护进程(daemon)代码实例,本文直接给出实现代码,代码中包含详细注释,需要的朋友可以参考下
    2015-03-03
  • Python线程池模块ThreadPoolExecutor用法分析

    Python线程池模块ThreadPoolExecutor用法分析

    这篇文章主要介绍了Python线程池模块ThreadPoolExecutor用法,结合实例形式分析了Python线程池模块ThreadPoolExecutor的导入与基本使用方法,需要的朋友可以参考下
    2018-12-12
  • python中的global关键字的使用方法

    python中的global关键字的使用方法

    这篇文章主要介绍了python中的global关键字的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python数据类型中的“冒号“[::]——分片与步长操作示例

    Python数据类型中的“冒号“[::]——分片与步长操作示例

    这篇文章主要介绍了Python数据类型中的“冒号“[::]——分片与步长操作,结合实例形式分析了Python基本数据类型中的分片与步长使用方法及相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • Python通过队列来实现进程间通信的示例

    Python通过队列来实现进程间通信的示例

    这篇文章主要介绍了Python通过队列来实现进程间通信的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-10-10
  • Python轻松读写TOML文件实现示例

    Python轻松读写TOML文件实现示例

    这篇文章主要介绍了Python轻松读写TOML文件实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01

最新评论