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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章