Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memecached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
通过Java来完成数据的缓存,需要下载一个jedis的jar包以及一个连接池jar包,下载地址如下。
jedis : http://redis.io/download
jedis源代码:https://github.com/xetorthio/jedis
使用jedis需要的连接池:http://commons.apache.org/proper/commons-pool/download_pool.cgi
看如下的例子
/**
* redis list是一个链表结构的存储结构,可以将其看作一个双端队列,当然也可以作为一个普通烦的队列以及栈使用
* 可以在list的两端压入数据,弹出数据,也可以利用lrange去除指定下标的数据
* */
public static void testList(){
//移除所有元素
jedis.del("list1");
//从list头部插入数据
jedis.lpush("list1", "1231431");
jedis.lpush("list1", "张三");
jedis.lpush("list1", "26");
//基于队列的所以先进先出(也可作为栈)
System.out.println(jedis.lrange("list1", 0, -1));
//从list尾部插入
jedis.rpush("list1", "hello");
jedis.rpush("list1", "world");
//取出数据
System.out.println(jedis.lrange("list1", 0, -1));
//出栈操作,从队列中移除一个数据(头部)
jedis.lpop("list1");
System.out.println(jedis.lrange("list1", 0, -1));
//从尾部移除一个数据
jedis.rpop("list1");
System.out.println(jedis.lrange("list1", 0, -1));
//list的大小
System.out.println(jedis.llen("list1"));
//截取list的子集
jedis.ltrim("list1", 1, 2);
System.out.println(jedis.lrange("list1", 0, -1));
//从集合中获取指定下表的字符串
String l = jedis.lindex("list1", 1);
System.out.println(l);
// jedis.lrem("list1", 1, "hello");
// System.out.println(jedis.lrange("list1", 0, -1));
}