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中的方法即可
django之memcached缓存系统的更多相关文章
- 6.memcached缓存系统
1.memcached的安装和参数 memcached缓存系统一般还是部署在linux服务器上,所以这里只介绍linux上memcache的安装 首先切换到root用户,然后apt-get insta ...
- Linux下搭建Memcached缓存系统
首先说下抱歉,博主近期单位经常加班.博客更新有点慢.希望大家理解,草稿箱里存了不少内容,等不忙时候一点点填坑~ 在一般的站点开发学习时候.都会把数据存放在RDBMS(关系型数据库系统(Relation ...
- Memcached 缓存系统简介
memcached官网:http://memcached.org/ What is Memcached? Memcached是一个自由开源的,高性能,高并发,分布式内存对象缓存系统. Memcache ...
- (转)实战Memcached缓存系统(1)Memcached基础及示例程序
1.Cache定义 (1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备. (2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数 ...
- (转)实战Memcached缓存系统(7)Memcached的一些基础FAQ
1. Memcached是什么? Memcached是分布式的内存对象缓存系统. 2. Memcached的基本数据结构是什么? Memcached是基于Key/Value对的HashMap.每一对, ...
- Django 学习之---缓存系统
一.浏览器缓存机制 Cache-control策略(重点关注) Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务 ...
- (转)实战Memcached缓存系统(8)Memcached异步实时读写问题的解决方案SAC
在使用Memcached时,一般实时读写的场景并不多见.但多是Memcached写入后,在一定时间后才会有读操作.但是如果应用场景,是写入后瞬间即会有读操作呢?似乎没有什么特别之处,我们依然可以这样写 ...
- (转)实战Memcached缓存系统(4)Memcached的CAS协议
1. 什么是CAS协议 很多中文的资料都不会告诉大家CAS的全称是什么,不过一定不要把CAS当作中国科学院(China Academy of Sciences)的缩写.Google.com一下,CAS ...
- (转)实战Memcached缓存系统(3)Memcached配置参数初解
一.基本参数 在我们第一次安装Memcached时,一般都是用过这个命令: memcached -m 512 -u root -d -l 127.0.0.1 -p 11211 我们先来解释这几个参数的 ...
随机推荐
- 【LeetCode】795. Number of Subarrays with Bounded Maximum 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 暴力搜索+剪枝 线性遍历 日期 题目地址: ...
- 1742 开心的小Q
如果一个数字存在一个约数是完全平方数,那么小Q就认为这个数是有趣的. 小Q喜欢收集有趣的数字,每找到一个有趣的数,小Q就会变得很开心. 小Q发现12是有趣的,18也是有趣的,它们都是36的约数,而在3 ...
- BestCoder Round #66 (div.2)B GTW likes gt
思路:一个O(n)O(n)的做法.我们发现b_1,b_2,...,b_xb1,b2,...,bx都加11就相当于b_{x+1},b_{x+2},...,b_nbx+1,bx+ ...
- mac学习Python第二天:开发工具安装、编程方式、中文编码、syntaxError语法错误、注释、语法格式
一.python集成开发工具Visual Studio Code安装配置 1.官网下载安装VSCode 官网地址 https://code.visualstudio.com/下载软件包 VSCode ...
- Stirling's Formula
目录 Stirling's Formula Keith Conrad. Stirling's Formula. Stirling's Formula \[\lim_{n \rightarrow \in ...
- 使用.NET 6开发TodoList应用(15)——实现查询搜索
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 本文我们继续来看查询过程中的另外一个需求:搜索.搜索的含义是目标字段的全部或者部分值匹配请求中的搜索条件,对应到数据库层面是C ...
- HTML5 纯CSS3实现正方体旋转3D效果
实现效果: 实现代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- 云南农职《JavaScript交互式网页设计》 综合机试试卷②——实现轮播图效果
一.语言和环境 实现语言:HTML,CSS,JavaScript,JQuery. 开发环境:HBuilder. 二.题目(100分): 使用JQuery淡入淡出动画,实现轮播图效果 每隔2秒钟切换一张 ...
- Zookeeper基础教程(五):C#实现Zookeeper分布式锁
分布式锁 互联网初期,我们系统一般都是单点部署,也就是在一台服务器完成系统的部署,后期随着用户量的增加,服务器的压力也越来越大,响应速度越来越慢,甚至出现服务器崩溃的情况. 为解决服务器压力太大,响应 ...
- go语言生成markdown文档工具
虽然有go语言的swagger,但是go版本的swagger对代码的侵入比较大,因此抽空实现了基于GO语言生成markdown文档的工具 开源链接地址: https://github.com/w3li ...