MyBatis与Memcached集成

1    Linux下安装Memcached

因为Memcached依赖libevent,因此,要想在Linux上安装Memcached必须先安装libevent。我们可以使用以下命令安装:

yum -y install libevent -devel

看到下图所示内容后,证明libevent安装成功。

现在,我们去官网下载Memcached,将软件包放在/opt/soft目录下,或者直接使用wget命令下载。

使用cd命令进入/opt/soft目录后,使用tar -zxvf memcached-1.x.x.tar.gz解压文件,然后,进入解压出的目录中,使用./configure && make  &&  make install命令安装Memcached。

等待Memcached安装完成之后,使用ls -al /usr/local/bin/mem*命令验证是否安装成功。使用/usr/local/bin/memcached -d -m 10 -u root -p 12000 -c 256 -P /tmp/memcached.pid命令启动Memcache的服务器。ps -ef | grep 12000可以看到服务已经启动。

2    在Java程序中添加依赖Jar

Maven用户:

<dependency>
    <groupId>org.mybatis.caches</groupId>
    <artifactId>mybatis-memcached</artifactId>
    <version>1.0.0</version>
</dependency>

3    开启MyBatis的Memcached缓存

无日志

<mapper namespace="org.acme.FooMapper">
  <cache type="org.mybatis.caches.memcached.MemcachedCache" />
  ...
</mapper>

有日志

<mapper namespace="org.acme.FooMapper">
  <cache type="org.mybatis.caches.memcached.LoggingMemcachedCache" />
  ...
</mapper>

Memcached的配置放在根目录下的memcached.properties中,如果没有找到,客户端将使用默认配置。

4    配置参数

下表总结了支持的参数,这些参数都是可选的,如果没有设置,客户端将使用默认值。

属性 默认值 描述
org.mybatis.caches.memcached.keyprefix _mybatis_ 任意字符串标识符
org.mybatis.caches.memcached.servers localhost:11211 空格分隔的${host}:${port}列表
org.mybatis.caches.memcached.connectionfactory net.spy.memcached.DefaultConnectionFactory 任意的net.spy.memcached.ConnectionFactory实现类
org.mybatis.caches.memcached.expiration 30天的秒数 过期时间(秒)
org.mybatis.caches.memcached.asyncget false 标记是否启用异步获取
org.mybatis.caches.memcached.timeout 5 使用异步获取的超时时间
org.mybatis.caches.memcached.timeoutunit java.util.concurrent.TimeUnit.SECONDS 使用异步获取的超时时间的单位
org.mybatis.caches.memcached.compression false 如果设置为true,对象放入Memcached时,将被GZIP压缩
时间: 2024-08-06 03:47:05

MyBatis与Memcached集成的相关文章

MyBatis与Memcached集成后缓存数据不一致问题

缓存数据生成到memcache的过程如下: 一.查询数据: 1.根据执行的sql语句转换为缓存的sqlKey值2.根据sqlKey值查询memcache的缓存数据3.如果查询到缓存数据返回缓存数据4.如果查询不到缓存数据则执行sql查询5.根据执行的sql语句转换为缓存的sqlKey值6.根据 mapper namespace 生成 groupKey7.sql查询结果放入缓存,数据结构[sqlKey(sql语句转换为的缓存sqlKey值),object(sql查询结果)]8.根据groupKey

重构Mybatis与Spring集成的SqlSessionFactoryBean(上)

一般来说,修改框架的源代码是极其有风险的,除非万不得已,否则不要去修改.但是今天却小心翼翼的重构了Mybatis官方提供的与Spring集成的SqlSessionFactoryBean类,一来是抱着试错的心态,二来也的确是有现实需要. 先说明两点: 通常来讲,重构是指不改变功能的情况下优化代码,但本文所说的重构也包括了添加功能 本文使用的主要jar包(版本):spring-*-4.3.3.RELEASE.jar.mybatis-3.4.1.jar.mybatis-spring-1.3.0.jar

springboot2.0+mybatis多数据源集成

最近在学springboot,把学的记录下来.主要有springboot2.0+mybatis多数据源集成,logback日志集成,springboot单元测试. 一.代码结构如下 二.pom.xml文件如下 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation

Mybatis与Spring集成(易百教程)

整个Mybatis与Spring集成示例要完成的步骤如下: 1.示例功能描述 2.创建工程 3.数据库表结构及数据记录 4.实例对象 5.配置文件 6.测试执行,输出结果 1.示例功能描述 在本示例中,需要完成这样的一个简单功能,即,指定一个用户(ID=1),查询出这个用户的基本信息,并关联查询这个用户的所有订单. 2.创建工程 首先创建一个工程的名称为:mybatis07-spring,在 src 源代码目录下建立文件夹 config,并将原来的 mybatis 配置文件 Configurat

Mybatis与Spring集成时都做了什么?

Mybatis是java开发者非常熟悉的ORM框架,Spring集成Mybatis更是我们的日常开发姿势. 本篇主要讲Mybatis与Spring集成所做的事情,让读过本文的开发者对Mybatis和Spring的集成过程,有清晰的理解. 以mybatis-spring-2.0.2为例,工程划分六个模块. 一.annotation 模块 定义了@MapperScan和@MapperScans,用于注解方式扫描mapper接口.以及mapper扫描注册器(MapperScannerRegistrar

MyBatis&amp;&amp;ssm项目集成

MyBatis&&ssm项目集成 一.mapper映射    1.准备接口 EmployeeMapper    2.准备xml EmployeeMapper.xml    3.测试的完成二.高级查询三.关系配置(重难点)    1.多对一        1.1 domain准备        1.2 关系映射 - 嵌套结果        1.3 关系映射 - 嵌套查询    2.一对多的配置        2.1 相应的domain准备        2.2 嵌套结果        2.3

mybatis与Spring集成(Aop整合PagerAspect插件)

目的: Mybatis与spring集成 Aop整合pagehelper插件 Mybatis与spring集成 导入pom依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】

项目结构: 1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <dependency>     <groupid>javax.servlet</groupid>     javax.servlet-api</artifactid>     <version>3.0.1</version>

深入浅出MyBatis:MyBatis与Spring集成及实用场景

本系列是「深入浅出MyBatis:技术原理与实践」书籍的总结笔记. 本篇是「深入浅出MyBatis」系列的最后一篇,主要介绍与Spring的集成,以及工作中的一些实用场景. 介绍之前,先整体总结下该系列的内容和写作思路. MyBatis是一个框架,封装了数据库相关的操作,给我们开发人员带来了极大地便利,相对于Hibernate,有很大的灵活性和扩展性,在高并发高性能应用中,这点很重要. 首先介绍了JDBC的规范,了解我们最原始最熟悉的操作数据库的方式,MyBatis就是在此基础上进行封装和抽象.