java操作redis

redis是个很优秀的缓存系统,简单来说有以下几个特点

1  Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

2  Redis支持数据的备份,即master-slave模式的数据备份。

3  Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

redis的基本操作不复杂,上手很快,一两天就可以很熟悉

下面要说的就是用java去操作redis,需要引入jedis-2.1.0.jar这个包,这个是官方推荐的java操作redis的客户端

然后就可以开始redis之旅了

1 首先要创建一个连接池

1     JedisPoolConfig config = new JedisPoolConfig(); 
2         config.setMaxActive(20); 
3         config.setMaxIdle(5); 
4         config.setMaxWait(1000l); 
5         config.setTestOnBorrow(false); 
6         
7         jedisPool = new JedisPool(config,"127.0.0.1",6379);

6379是默认端口,可以不写,对于连接池的配置都可以在JedisPoolConfig这个类里面配置

2 从连接池获取一个Jedis对象,这个才是真正跟redis交互的对象

  Jedis jedis = jedisPool.getResource(); 

3然后就可以用Jedisl里面的方法了,基本上跟redis交互的方法都有,下面列出的就是基本的方法

 1     public void show() {   
 2 
 3         //设置值
 4         jedis.set("name", "测试abcd");
 5         
 6         System.out.println(jedis.get("name"));
 7         //截取字符串,中文占三个字节
 8              System.out.println(jedis.substr("name", 0, 5));
 9 
10         
11              //设置list
12          jedis.rpush("list", "3","2","1");
13 
14          
15         //取出list的所有值
16         List<String> list=  jedis.lrange("list", 0, -1);
17         for (String string : list) {
18         System.out.println(string);
19        }
20         
21         //-----对list排序----
22         
23         List<String> sortlist=  jedis.sort("list");
24         
25        for (String string : sortlist) {
26              System.out.println(string);
27        }
28         
29        //-----排序然后取前几位 分页使用----
30        
31         SortingParams sortingParams=new SortingParams();
32         sortingParams.desc();
33         sortingParams.limit(0, 3);
34         
35         List<String> list2=  jedis.sort("list", sortingParams);
36         
37        jedis.sort("list", sortingParams,"list2");       
38        
39         for (String string : list2) {
40              System.out.println(string);
41         }
42         
43         
44        //----设置hash----
45         
46        jedis.hset("car", "name", "汽车");
47        jedis.hset("car", "price", "10");
48        jedis.hset("car", "life", "1");
49         
50        //----遍历hash的key----
51 
52       Set<String> set = jedis.hkeys("car");
53       for (String string : set) {
54         System.out.println(string);
55     }
56       
57        //----遍历hash的value----
58 
59      List<String> carlist = jedis.hvals("car");
60       for (String string : carlist) {
61           System.out.println(string);
62       }
63         //----查看所有的key----
64        Set<String> keys = jedis.keys("*"); 
65        Iterator<String> it=keys.iterator() ;   
66        while(it.hasNext()){   
67            String key = it.next();   
68            System.out.println(key);   
69        }
70        
71      //操作完成之后记得把jedis放回jedisPool池中
72        jedisPool.returnResource(jedis);
73 
74     } 
View Code

附件里面包含redis的编译过的安装包,最好在linux或者mac上面安装,还有jedis包跟源码包 

附件链接http://pan.baidu.com/s/1hqABVlM 

 

posted @ 2014-09-11 11:30  滚雪球666  阅读(2269)  评论(0编辑  收藏  举报