許多Web應(yīng)用都將數(shù)據(jù)保存到RDBMS中肯适,應(yīng)用服務(wù)器從中讀取數(shù)據(jù)并在瀏覽器中顯示望迎。 但隨著數(shù)據(jù)量的增大、訪問(wèn)的集中桐智,就會(huì)出現(xiàn)RDBMS的負(fù)擔(dān)加重末早、數(shù)據(jù)庫(kù)響應(yīng)惡化、 網(wǎng)站顯示延遲等重大影響说庭。
memcached是高性能的分布式內(nèi)存緩存服務(wù)器然磷。 一般的使用目的是,通過(guò)緩存數(shù)據(jù)庫(kù)查詢結(jié)果刊驴,減少數(shù)據(jù)庫(kù)訪問(wèn)次數(shù)姿搜,以提高動(dòng)態(tài)Web應(yīng)用的速度、 提高可擴(kuò)展性缺脉。
參考
安裝
1.由于memcached是基于libevent的痪欲,因此需要安裝libevent,libevent-develyum install -y libevent libevent-devel
2.安裝Memcachedyum -y install memcached
3.驗(yàn)證安裝memcached -h
4.啟動(dòng)service memcached start
查看狀態(tài)service memcached status
5.可在/etc/sysconfig/memcached中修改端口號(hào)等攻礼。重啟memcachedservice memcached restart
整合mybatis
1.導(dǎo)入jar包
<dependency>
<groupId>org.mybatis.caches</groupId>
<artifactId>mybatis-memcached</artifactId>
<version>1.0.0</version>
</dependency>
2.在mapper.xml文件中加入<cache>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.tmg.dao.mybatis.performance.ChannelDailyDeltaDao" >
<cache type="org.mybatis.caches.memcached.MemcachedCache" />
<resultMap id="BaseResultMap" type="com.tmg.entity.performance.test.ChannelDailyDelta" >
...
3.memcache的配置是根據(jù)classpath下的 /memcached.properties 配置的业踢,如果沒(méi)有使用默認(rèn)
org.mybatis.caches.memcached.servers=115.29.251.196:11211,101.201.152.172:11211 //可配置多個(gè)地址
org.mybatis.caches.memcached.expiration=43200
...
參考,但這種方式不適合那種需要對(duì) Cache 進(jìn)行精細(xì)控制的場(chǎng)景礁扮。
memcache命令
連接memcache
telnet localhost 11211
-
查看健康情況
stats
Paste_Image.png
Paste_Image.png -
查看所有緩存項(xiàng)
stats items
,"STAT items:"后面那個(gè)數(shù)字就是slab id
Paste_Image.png 查詢某個(gè)slab下所有的key太伊,列出n條(列出全部為0)雇锡。stats cachedump <slab的id> <條數(shù)>,
stats cachedump 6 0
添加僚焦,刪除
- 清空緩存
flush_all
要點(diǎn):
不能進(jìn)行精細(xì)控制锰提。