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和端口号

 

posted @ 2020-04-25 10:23  Alpha205  阅读(30)  评论(0编辑  收藏  举报