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表示过期的时间60s username = 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和端口号
分类:
后端学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)