《Java實現操作Memcache緩存數據庫介紹》要點:
本文介紹了Java實現操作Memcache緩存數據庫介紹,希望對您有用。如果有疑問,可以聯系我們。
相關主題:memcache擴展 / 鍵值KeyValue存儲數據庫
1. 什么是memcached?
(1)Memcached是一個自由開源的,高性能,分布式內存對象緩存系統.
(2)Memcached是一種基于內存的key-value存儲,用來存儲小塊的任意數據(字符串、對象).這些數據可以是數據庫調用、API調用或者是頁面渲染的結果.
(3)Memcached本質上,它是一個簡潔的key-value存儲系統.
一般的使用目的是,通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度、提高可擴展性.
2. memcached的命令
存儲命令:
(1) set 命令:用于將 value(數據值) 存儲在指定的 key(鍵) 中.
如果set的key已經存在,該命令可以更新該key所對應的原來的數據,也就是實現更新的作用.
(2)add 命令:用于將 value(數據值) 存儲在指定的 key(鍵) 中.
如果 add 的 key 已經存在,則不會更新數據,之前的值將仍然保持相同,并且您將獲得響應 NOT_STORED.
(3)replace 命令:用于替換已存在的 key(鍵) 的 value(數據值).
如果 key 不存在,則替換失敗,并且您將獲得響應 NOT_STORED.
(4)append 命令:用于向已存在 key(鍵) 的 value(數據值) 后面追加數據 .
(5)prepend 命令:用于向已存在 key(鍵) 的 value(數據值) 前面追加數據 .
(6)CAS(Check-And-Set 或 Compare-And-Swap) 命令:用于執行一個"檢查并設置"的操作它僅在當前客戶端最后一次取值后,該key 對應的值沒有被其他客戶端修改的情況下, 才能夠將值寫入.
檢查是通過cas_token參數進行的, 這個參數是Memcach指定給已經存在的元素的一個唯一的64位值.
查找命令:
(1) get 命令:獲取存儲在 key(鍵) 中的 value(數據值) ,如果 key 不存在,則返回空.
(2)gets 命令:用于獲取帶有 CAS 令牌存 的 value(數據值) ,如果 key 不存在,則返回空.
(3) delete 命令:用于刪除已存在的 key(鍵).
(4)incr 與 decr 命令:用于對已存在的 key(鍵) 的數字值進行自增或自減操作.
incr 與 decr 命令操作的數據必須是十進制的32位無符號整數.
如果 key 不存在返回 NOT_FOUND,如果鍵的值不為數字,則返回 CLIENT_ERROR,其他錯誤返回 ERROR.
統計命令:
(1)stats 命令:用于返回統計信息例如 PID(進程號)、版本號、連接數等.
(2) stats items 命令:用于顯示各個 slab 中 item 的數目和存儲時長(最后一次訪問距離現在的秒數).
(3) stats slabs 命令:用于顯示各個slab的信息,包括chunk的大小、數目、使用情況等.
(4)stats sizes 命令:用于顯示所有item的大小和個數.
(5)flush_all 命令:用于清理緩存中的所有 key=>value(鍵=>值) 對.
該命令提供了一個可選參數 time,用于在制定的時間后執行清理緩存操作.
3. Java操作memcached緩存系統
(1)Java連接memcached服務
import java.net.InetSocketAddress;
(2)向memcached中添加數據
import java.net.InetSocketAddress;
(3)取出mencached中的數據
import java.net.InetSocketAddress;
歡迎參與《Java實現操作Memcache緩存數據庫介紹》討論,分享您的想法,維易PHP學院為您提供專業教程。