今天遇到乙個問題,其實我可以把獲取的資料全部放到 redis裡面並且效能更好,但是redis裡面有類似的資料,本來key的形式就有點複雜,我就不想設計了,想到python有乙個類似go語言的包,能把後端伺服器自身的記憶體作為快取,然後找到了這個包叫:cacheout,實現資料快取。
首先說一下,這個包只能用在python3裡面
然後安裝:pip install cacheout就行
my_cache有以下函式:
點進去看原始碼拿到這個工具的所有函式:
key:獲取所有鍵
values:獲取所有值
iteams :獲取所有物件
clear:清空資料
has:檢查乙個key是不是存在,並且是否過期。如果不存在或者已經過期返回false
size: 返回資料總量
full: 返回快取是否滿了
get(self, key, default=none)
get_many(self, iteratee, default=none)
add(self, key, value, ttl=none)
add_many(self, items, ttl=none)
set(self, key, value, ttl=none)
set_many(self, items, ttl=none)
delete(self, key)
delete_many(self, iteratee)
delete_expired(self):刪除已過期的資料,返回刪除的個數
expired(self, key, expires_on=none):返回是否過期
expire_times(self):返回快取中資料的ttl時間
evict(self):已被收回的快取資料
popitem(self):和python裡面的pop一樣
memoize(self, *, ttl=none, typed=false):快取乙個函式,當然包括其引數,當再次呼叫該函式並且傳入相同的引數時,直接呼叫快取資料。
差不多就這些個函式。能滿足少量資料的一些要求吧。再說一次,東西就是玩玩,實際開發還是用redis。 閉包的乙個坑
閉包的乙個坑 for var i 0 i 5 i 5 上面這個 塊會列印五個5出來,而我們預想的結果是列印 1 2 3 4 5。之所以會這樣,是因為 settimeout 中的 i 是對外層 i 的引用。當 settimeout 的 被解釋的時候,執行時只是記錄了 i 的引用,而不是值。而當 set...
python定義乙個 Python定義乙個類
在物件導向的世界裡,你的 通常稱為 類的方法 method,而資料通常稱為 類的屬性 attribute,例項化的資料物件通常稱為 例項 instance。python使用class建立類。每個定義的類都有乙個特殊的方法,名為 init 可以通過這個方法控制如何初始化物件。類中方法的定義與函式的定義...
關於php 快取的乙個問題
原來是php.ini中開啟了 opcahce 1 下面是禁用 opcache 的方式。通過phpinfo來檢視php.ini檔案的路徑。在phpinfo頁面中通過檢視 loaded configuration file來獲取php.ini檔案的路徑。在php.ini檔案中禁用。找到 opcache....