zoukankan      html  css  js  c++  java
  • django之memcached缓存系统

    django其他缓存方法:(https://www.cnblogs.com/jishuweiwang/p/6110809.html

    memcached版本 <1.5

    1. memcached缓存系统安装

      ·在百度中下载 memcached 安装文件(http://www.runoob.com/memcached/window-install-memcached.html

      ·windows安装(linux安装:http://www.runoob.com/memcached/memcached-install.html):

              1> 进入 memcached 目录

         2> 在终端输入:

        · memcachd.exe -d install:安装

        · memcached.exe -d uninstall:卸载

      命令说明:

      · memcached -d start:启动服务

      · memcached -d stop:关闭服务

      · 命令选项:

        · -p使用的TCP端口。默认为11211
        · -m最大内存大小。默认为64M
        · -vv用very vrebose模式启动,调试信息和错误输出到控制台
        · -d作为daemon在后台启动
        · -c最大运行的并发连接数,默认是1024,按照服务器的负载量来设定
        · -P设置保存Memcache的pid文件
        · -l监听的服务器IP地址,如果有多个地址的话
        · -u运行Memcache的用户,默认不能用root启动,所以当前用户为root用户时,需要用-u参数来指定

    2. 在django中使用 memcached:

      · 首先要在django运行环境中安装:python-memcached(命令:pip install python-memcached)

        注意:如果没有安装会提示:找不到模块:memcache

           · 然后在django中的.py文件中导入:from django.core.cache import cache 模块

      · 在 settings.py 文件中加入配置:

        CACHES = {

          'default': {

             'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',

            'LOCATION': [

              '172.19.26.240:11211', # 缓存地址1

              '172.19.26.242:11211', # 缓存地址2

             ]

            }

           }

       CACHES配置参数说明:

        每个缓存后端都可以设置附加参数,控制缓存行为。可配置如下参数:

        1)TIMEOUT

          cache 默认过期时间(seconds),未设置则为300s(5mins)

        2)OPTIONS

          可选项配置,不同的后端,可选项配置不同

        3)KEY_PREFIX

          默认会被自动加到所有缓存 keys 的前端

        4)VERSION

          默认缓存 keys 的 version

        5)KEY_FUNCTION

          生成最终缓存 keys 的函数路径

        6)像locmem, filesystem 和 database 缓存都实现了 cull 策略,参数如下:
         culling 策略参数(OPTIONS中):
          MAX_ENTRIES
          删除旧数据之前,允许在缓存中存放的最大数量,默认:300
          CULL_FREQUENCY
          当缓存数目达到 MAX_ENTRIES 时,就会删除部分缓存,删除率为1/CULL_REQUENCY, 如果 CULL_FREQUENCY = 2 ,当达到 MAX_ENTRIES 时,就会删除一半数据。默认值:3

        CACHES 配置参数概述 - 示例

        CACHES = {
          'default': {
            'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
            'LOCATION': '/var/tmp/django_cache',
            'TIMEOUT': 60,
          'OPTIONS': {
            'MAX_ENTRIES': 1000
          }
        }
       }

       注意:无效的参数会被忽略,不会影响整个项目

    3. memcached的安全性:

      1>方法1:使用 -l 参数设置为只有本地可以连接:这种方式就只能通过本机才能连接,别的机器都不能访问,可以达到最好的安全性

      2>方法2:使用防火墙来关闭指定端口的访问

        ufw enable # 开启防火墙

        ufw disable # 关闭防火墙

        ufw default deny # 防火墙以禁止的方式打开,默认是关闭那些没有开启的端口

        ufw deny 端口号 # 关闭某个端口

        ufw allow 端口号 # 开启某个端口

    4. memcached中的API接口:

      地址:http://www.runoob.com/Memcached/Memcached-tutorial.html

      在django中导入from django.core.cache import cache模块后,使用cache.memcached中的方法即可

      

        

  • 相关阅读:
    table 如何不越过父级div
    sqlite3_column_type 与 SQLITE_NULL的区别
    lua 协程的理解
    linux 信号
    linux 查看文件夹大小
    linux 僵屍进程
    软件架构的理解
    jquery正则表达式
    linux C遍历目录下文件
    linux 进程间同步互斥
  • 原文地址:https://www.cnblogs.com/jingxuan-li/p/9469447.html
Copyright © 2011-2022 走看看