PHP操作Memcache執行個體介紹_php技巧

來源:互聯網
上載者:User
b/s: 基於瀏覽器和伺服器架構 web程式
c/s: QQ SVN client用戶端+ 伺服器

簡單的基於文本行的協議:
redis
memcache

區別:
都是儲存資料的,memcache直接儲存到記憶體中,redis 儲存到記憶體中,關閉之後儲存到硬碟中,memcache 重啟電腦,關閉服務都會造成資料丟失
(1)儲存在記憶體中
(2)重啟電腦,重啟服務全部資料都消失
(3)LRU演算法,根據最近使用的變數,將長時間沒使用的變數刪除

PHP如何操作memcache
1,php載入擴充php_memcache.dll 擴充
序列化
還原序列化
memcache可以儲存的資料:字串,數值,數組,對象
當我們獲得memcache中儲存的對象的時候,需要提供這個類的定義,否則,提示不知道是哪個類的對象
memcahe 和 redis: redis還可以儲存 hash, 資料結構
 

2,memcached client操作
C/S 通過用戶端串連服務端
添加php_memcache.dll,但是我們沒有許可權修改 php的設定檔
但是還想使用記憶體memcache
還可以使用client操作
通過socket技術,
mysql查詢
查詢的英文 進行排序
中文-----sphinx 中文檢索引擎
關閉 memcache擴充
使用socket技術完成php對memcache的CRUD操作
dll 封裝的函數類庫,通過這些開闢記憶體空間,儲存資料
那麼可不可以,自己寫函數和dll封裝的一樣?
思路就是將dll中c語言開發的類庫,轉化成php語言
網路界的活雷鋒,共用了php類檔案
 
如果出現notice層級的錯誤,修改php error_reporting + E_ALL+NOTICE
Memcache的生存周期:
重啟memcached、重啟作業系統會導致全部資料消失。另外,內容容量達到指定值之後,就基於LRU(LeastRecently Used)演算法自動刪除不使用的緩衝。
如果設定expire為0,表示永遠不到期,直到機器重啟或服務重啟
欲加之罪何患無辭
將session 的資料儲存到memcache中
session的資料預設情況下,儲存在file 檔案中
但是我們可以通過修改php的配置,讓他儲存在其他地方
1,讓memcache來處理session
2,

寸但是如何獲得session變數的時候,不再是name屬性,而是通過session_id來儲存的
session_id
瀏覽器訪問 伺服器的時候,伺服器給瀏覽器分配session_id 然後在通過session_id找 對應的值
如果sessaion儲存的是對象的話,獲得的時候,累的資訊會丟失
但是現在還有問題:
如果沒有許可權修改php的配置怎麼辦?
ini_set() 可以在php檔案中,設定php的一些配置
安全問題:
 
現在誰都可以訪問我的memcache
解決之道:
防火牆
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.