memcached的认识
生活随笔
收集整理的這篇文章主要介紹了
memcached的认识
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?php/*
memcached概念:Memcached是一個免費開源的,高性能的,具有分布式對象的緩存系統,它可以用來保存一些經常存取的對象或數據,保存的數據像一張巨大的HASH表,該表以Key-value對的方式存在內存中。操作流程:1、檢查客戶端的請求數據是否在memcached中,如有,直接把請求數據返回,不再對數據庫進行任何操作2、如果請求的數據不在memcached中,就去查數據庫,把從數據庫中獲取的數據返回給客戶端,同時把數據緩存一份到memcached中(memcached客戶端不負責,需要程序明確實現)3、每次更新數據庫的同時更新memcached中的數據,保證一致性。4、當分配給memcached內存空間用完之后,失效數據首先被替換,然后再替換掉最近未使用的數據。內置的內存管理方式所有數據都保存在內存中,存取數據比硬盤快,當內存滿后,通過LRU算法自動刪除不使用的緩存,但沒有考慮數據的容災問題,重啟服務,所有數據會丟失。memcached 存數據Set:添加一個新條目到memcached或是用新的數據替換替換掉已存在的條目 Add:當KEY不存在的情況下,它向memcached存數據,否則,返回NOT_STORED響應 Replace:當KEY存在的情況下,它才會向memcached存數據,否則返回NOT_STORED響應 Cas:改變一個存在的KEY值 ,但它還帶了檢查的功能 Append:在這個值后面插入新值 Prepend:在這個值前面插入新值 memcached 獲取數據Get:取單個值 ,從緩存中返回數據時,將在第一行得到KEY的名字,flag的值和返回的value長度,真正的數據在第二行,最后返回END,如KEY不存在,第一行就直接返回END Get_multi:一次性取多個值 memcached 刪除數據Delete 需要注意:1.不能往Memcached存儲一個大于1MB的數據.2.往Memcached存儲的所有數據,如果數據的大小分布于各種chunk大小區間,從64B到1MB都有,可能會造成內存的極大浪費以及Memcached的異常.3.memcached的一個空間利用,以及安全內存分配機制:首先要說明的是Memcached支持最大的存儲對象為1M。它的內存分配比較特殊,但是這樣的分配方式其實也是對于性能考慮的,簡單的分配機制可以更容易回收再分配,節省對于CPU的使用。*/
?memcached 緩存原理:
轉載于:https://www.cnblogs.com/LF-place/p/10556591.html
總結
以上是生活随笔為你收集整理的memcached的认识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux学习笔记-9.查找
- 下一篇: HDU1285 确定名次 拓扑排序