Web后端学习笔记 Flask(13)memcached
memcached介绍:
memcached相当于一个内存的缓存系统,数据原本是存储在数据库当中,memcached是一个内存级别的缓存系统,可以把数据存到内存当中,此时的访问速度就会更快。设计它的初衷就是加速网站的访问速度。
memcached是一个高性能的,分布式的内存对象缓存系统,不少企业采用这个缓存项目来构建大负载的网站,来分担数据库的压力。memcached是通过在内存里维护一个统一的,巨大的hash表。memcached能存储各种各样的数据,包括图像,时评,文件,以及数据库检索的结果。简而言之就是将数据调到内存里,然后从内存中读取,从而大大提高读取速度。
适合使用memcached的场景:存储验证码(图形验证码,短信验证码), 登陆session等所有不是至关重要的数据。
安装和启动memcached
windows下安装,以及启动memcached:
1. 首先下载memcached安装文件:window下1.4.4版本
以管理员身份运行cmd, cd到memcached的安装文件路径下:
安装,启动memcached如上所示:
可以在任务管理器中,看到memcached服务已经启动:
这里省略Linux下安装memcached, 以及用telnet操作memcached:
python操作memcached:
首先安装python-memcached,然后通过这个包操作memcached:
1. 连接memcached服务
2. 添加数据
3. 查找数据
4. 删除数据
5. 自增
6. 自减
# -*- coding: utf-8 -*-
import memcache# 连接之前要确认memcached服务已经启动
mc = memcache.Client(["127.0.0.1"], debug=True) # 链接memcached服务# 设置值 time的默认值是0,表示数据永远不过期,所以在使用的时候最好设定过期时间
mc.set(key="username", val="Tomcat", time=60) # time表示过期的时间60susername = mc.get("username")
print(username)# set_multi方法,一次传递多个值,字典作为参数
mc.set_multi(mapping={"title": "Gone","author": "kitty","price": 12},time=60)res = mc.get_multi(keys=["title", "author"])
print(res)# 删除数据
mc.delete("username")
username = mc.get("username")
print(username)# 自增和自减
mc.set(key="age", val=10, time=60)
mc.incr(key="age", delta=1) # 自增一
print(mc.get("age"))mc.decr(key="age")
print(mc.get("age"))
输出结果:
分布式的memcached:
memcached可以连接多台机器:可以在Client的列表中添加其他ip和端口号
Web后端学习笔记 Flask(13)memcached相关推荐
- Web后端学习笔记Flask(2)模板
模板渲染: 在flask中,视图函数可以直接通过render_template进行模板渲染.在flask中,模板文件是存放在template文件夹中:在调用模板文件的时候,模板文件的路径从templa ...
- Web后端学习笔记 Flask(1)基础知识
基础的准备 1. 使用的python版本 python3.6 2. pycharm编辑器 3. 安装python虚拟环境: python中的虚拟环境: python中的虚拟环境相当于一个抽屉,在这个抽 ...
- Web后端学习笔记 Flask(10)CSRF攻击原理
CSRF(Cross Site Request Forgery,跨站域请求伪造)是一种网络的攻击方式,它在2007年曾被列为互联网20大安全隐患之一. CSRF攻击的原理: 网站是通过cookie实现 ...
- Web后端学习笔记 Flask(9)cookie and session
Flask_wtf除了可以做表单验证,模板渲染之外,还可以防御CSRF攻击.要了解CSRF攻击的原理,首先需要了解cookie和session的知识点. cookie:在网站中,HTTP请求是无状态的 ...
- Web后端学习笔记 Flask (5) 数据库
MySql数据库安装:省略 SQLAlchemy介绍和基本使用: 数据库是开发网站的基础,,在Flask中,支持的数据库有:MySql,PostgreSql,SQLite,Redis,MongoDB来 ...
- Web后端学习笔记 Flask (14)redis
redis介绍: redis是一种noSQL数据库,它的数据是保存在内存中,同时,redis可以定时把内存中的数据同步到磁盘,即可以将数据持久化,并且它比memcached支持更多的数据结构,stri ...
- Web后端学习笔记 Flask(11)Local线程隔离对象
flask中的上下文:应用上下文和请求上下文 1. 在flask中,是通过request对象获取用户提交的数据,但是在整个程序运行中,只有一个request对象.在实际应用场景中,会有多个用户同时进行 ...
- Web后端学习笔记 Flask(8) WTForms 表单验证,文件上传
Flask-WTF是简化了WTForms操作的一个第三方库.WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板.同时还包含一些其他的功能.例如CSRF保护,文件上传等功能,安装fl ...
- Web后端学习笔记 Flask(7)数据库
高级查询: 1. group_by 根据某个字段进行分组,比如说需要根据某个字段分组,来统计每组有多少人. 2. having having是对查询结果进一步过滤,比如只想看到未成年人的数量,那么首先 ...
最新文章
- Eclipse 创建web项目后没有 Java EE 5 Library,没有web开发相关基础java包,myeclipse中有。...
- win10专业版关闭smartscreen
- 【9018题解】2109 卡德加的兔子
- 去除input填充颜色
- java package public_Java中的public,protected,package-private和private有...
- 恢复Cisco路由器口令
- mysql主库从库在同一台服务器_通过两种方式增加从库——不停止mysql服务
- 男人 30 岁前要做的 22 件事
- 实现自定义背景色、前景色、显示进度的进度条
- linux下计算md5值,Linux下使用md5sum计算和检验MD5码
- debian10编译安装mysql
- 推荐10本必读的心理学书籍
- 北京大学公开课《数据结构与算法Python版》
- 海航科技集团要寻人才去火星喽!
- [NOIP2017模拟]Blash数集
- idea中java版本设置
- LabVIEW使用VI Server的时候出现1003错误
- python 中的“_,“有什么用途
- java rnn生成古诗_Char-RNN生成古诗
- Ethernet协议
热门文章
- k8s集群资源监控-搭建监控平台(prometheus和grafana)---K8S_Google工作笔记0053
- k8s核心技术-资源编排(yaml)的介绍---K8S_Google工作笔记0018
- Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
- NuGet学习笔记001---了解使用NuGet给net快速获取引用
- oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
- 杭电1422 重温世界杯
- boost学习之简介
- 随想录(软件逆向与OllyDbg)
- 随想录(对比着c学java)
- 嵌入式操作系统内核原理和开发(固定内存分配算法)