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