许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。
memcached是高性能的分布式内存缓存服务器。 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。
参考
安装
1.由于memcached是基于libevent的,因此需要安装libevent,libevent-develyum install -y libevent libevent-devel
2.安装Memcachedyum -y install memcached
3.验证安装memcached -h
4.启动service memcached start
查看状态service memcached status
5.可在/etc/sysconfig/memcached中修改端口号等。重启memcachedservice memcached restart
整合mybatis
1.导入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的配置是根据classpath下的 /memcached.properties 配置的,如果没有使用默认
org.mybatis.caches.memcached.servers=115.29.251.196:11211,101.201.152.172:11211 //可配置多个地址
org.mybatis.caches.memcached.expiration=43200
...
参考,但这种方式不适合那种需要对 Cache 进行精细控制的场景。
memcache命令
连接memcache
telnet localhost 11211
-
查看健康情况
stats
-
查看所有缓存项
stats items
,"STAT items:"后面那个数字就是slab id
查询某个slab下所有的key,列出n条(列出全部为0)。stats cachedump <slab的id> <条数>,
stats cachedump 6 0
添加,删除
- 清空缓存
flush_all
要点:
不能进行精细控制。