介绍
我们常常有这样的需求:当我们把memcached加入到项目后我还还要写一个 cacheUtils 或者 cacheManager 之类的类来操作memcached。并且一般的操作不外乎是这种操作:
这种需求基本上占了缓存操作的大部分情况。这三件事情写起来很简单,其实还是有一些代码量的。cached-query 是一个轻量级的类库,帮你做了以上三件事情,并且只提供一个方法就是通过sql查询得出一个列表。
安装
添加依赖到 pom.xml
<dependency> <groupId>org.crazycake</groupId> <artifactId>cached-query</artifactId> <version>1.0.0-RELEASE</version> </dependency>
建立一个配置文件 cached-query.properties 在classpath跟目录下,你可以放到 src/resources 下
#cache type. [memcached] cache.type=memcached cache.host=127.0.0.1 cache.port=11211 cache.expire=1800
建立你要查询的表对应的model
public class Student implements Serializable{ private Integer studentId; private String studentName; public Integer getStudentId() { return studentId; } public void setStudentId(Integer studentId) { this.studentId = studentId; } public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } }
CachedQuery q = CachedQuery.getInstance(); String sql="select student_id,student_name from student where student_id=?"; Object[] params = new Object[]{1}; ArrayList<Student> list = q.queryList(sql, params, conn, Student.class);
注意事项
最新版本情况参考 https://github.com/alexxiyang/cached-query