真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

如何提高memcache的緩存命中率

如何提高memcache的緩存命中率,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

公司主營業(yè)務:網站制作、做網站、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯推出黑山免費做網站回饋大家。

如何提高memcache的緩存命中率

  1. 合理組合緩存 Key,保證 Key 最大復用率。

  2. 合理設置過期時間,減少因為緩存數據過期后被穿透

memcache和redis的區(qū)別,內存管理機制

數據類型:都是k/v數據庫,但memcache只支持string,redis除了string,還支持list,set,hash等數據
內存管理:memcache內存用完時,會刪除用得最少的緩存;redis內存用完時,會把最少的緩存交換到磁盤里。
持久化:memcache不支持內存持久化,redis支持。

redis持久化有兩種方式:RDB和AOF

  1. RDB (redis db)
    在指定的save m n周期性對數據進行持久化。m秒有n條寫入記錄,則進行持久化

  2. AOF (appendonly filelog)
    appendfsync everysec:每秒同步一次,意味著有最多1秒的

Memcache

只支持string類型,并且不能持久化的內存緩存

MySQL緩存

mysql緩存機制就是緩存sql 文本及緩存結果,用KV形式保存再服務器內存中,如果運行相同的sql,服務器直接從緩存中去獲取結果,不需要在再去解析、優(yōu)化、執(zhí)行sql。如果這個表修改了,那么使用這個表中的所有緩存將不再有效,查詢緩存值得相關條目將被清空。表中得任何改變是值表中任何數據或者是結構的改變,包括insert,update,delete,truncate,alter table,drop table或者是drop database 包括那些映射到改變了的表的使用merge表的查詢,顯然,者對于頻繁更新的表,查詢緩存不合適,對于一些不變的數據且有大量相同sql查詢的表,查詢緩存會節(jié)省很大的性能。

工作流程

1.服務器接收SQL,以SQL和一些其他條件為key查找緩存表
2.如果找到了緩存,則直接返回緩存
3.如果沒有找到緩存,則執(zhí)行SQL查詢,包括原來的SQL解析,優(yōu)化等。
4.執(zhí)行完SQL查詢結果以后,將SQL查詢結果緩存入緩存表

命中條件

緩存存在一個hash表中,通過查詢SQL,查詢數據庫,客戶端協議等作為key,在判斷命中前,mysql不會解析SQL,而是使用SQL去查詢緩存,SQL上的任何字符的不同,如空格,注釋,都會導致緩存不命中。如果查詢有不確定的數據like now(),current_date(),那么查詢完成后結果者不會被緩存,包含不確定的數的是不會放置到緩存中。

查看查詢緩存情況

show variables like '%query_cache%'

query_cache_type 為 ON 表示已經開啟

開啟查詢緩存

vi /etc/my.cnf
[mysqld]中添加:

query_cache_size = 20M
query_cache_type = ON

重啟使其生效

service mysql restart

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯行業(yè)資訊頻道,感謝您對創(chuàng)新互聯的支持。


文章名稱:如何提高memcache的緩存命中率
當前URL:http://weahome.cn/article/ggcjhc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部