聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> Java操作redis-gwg整理

Java操作redis-gwg整理

时间:2016-07-21 09:49:26    下载该word文档

Java操作redis

Java操作redis很简单。创建一个普通的Java工程。然后导入redis依赖的jar包。jar包我已经上传了。

1.入门级的demo

入门级demo代码  

1. package com.bjsxt.test;  

2.   

3. import redis.clients.jedis.Jedis;  

4.   

5. public class RedisDemo {  

6.       

7.     public static Jedis getJedis(){  

8.         Jedis jedis = null;  

9.         jedis = new Jedis(FinalCollention.IP, 6379);  //redis服务器的ip和端口  

10.         jedis.auth(FinalCollention.PASSWORD);  //连接redis的密码  

11.         return jedis;  

12.     }  

13.     public void test(){  

14.         Jedis jedis = null;  

15.         try{  

16.             jedis = getJedis();  

17.             jedis.incr("test");  

18.             long dbsize = jedis.dbSize();  

19.             System.out.println("数据库大小:"+dbsize);  

20.             System.out.println("测试test的值:"+jedis.get("test"));  

21.               

22.         }catch(Exception e){  

23.             e.printStackTrace();  

24.         }finally{  

25.             if(jedis != null){  

26.                 jedis.disconnect();  

27.             }  

28.         }  

29.     }  

30.     public static void main(String[] args) {  

31.         RedisDemo demo = new RedisDemo();  

32.         demo.test();  

33.     }  

34. }  

 

如果出现Java无法连接redis的异常,主要有三个方面的问题:

1.Java运行的主机ping一下redis服务器所在主机,看能否ping

2.关闭redis服务器所在主机的防火墙

3.打开redis安装目录下的redis.conf文件。注释掉:bind 127.0.0.1这句话

注释掉bind代码  

1. # Accept connections on the specified port, default is 6379.  

2. # If port 0 is specified Redis will not listen on a TCP socket.  

3. port 6379  

4.   

5. # If you want you can bind a single interface, if the bind option is not  

6. # specified all the interfaces will listen for incoming connections.  

7. #  

8. # bind 127.0.0.1  

9. "redis.conf" 597L, 25667C written  

 特别说明:后面的实例,我就不使用try--catch了,但是自己写时一定要记着关闭连接

2.Java操作redis的各种数据结构

Redis的各种数据类型测试代码  

1. package com.bjsxt.test;  

2.   

3. import java.util.HashMap;  

4. import java.util.List;  

5. import java.util.Map;  

6.   

7. import redis.clients.jedis.Jedis;  

8.   

9. public class RedisDataTypeDemo {  

10.       

11.     public static Jedis getJedis(){  

12.         Jedis jedis = null;  

13.         jedis = new Jedis(FinalCollention.IP, 6379);  //redis服务器的ip和端口  

14.         jedis.auth(FinalCollention.PASSWORD);  //连接redis的密码  

15.         return jedis;  

16.     }  

17.     /**  

18.      *   

19.      * @title demoKey  

20.      * @description 测试Key  

21.      * @author hadoop  

22.      */  

23.     public void demoKey(){  

24.         Jedis jedis = RedisDataTypeDemo.getJedis();  

25.         System.out.println("查看键为aa的是否存在:"+jedis.exists("aa"));  

26.         System.out.println("查看键为aa的类型:"+jedis.type("aa"));  

27.         System.out.println("随机获得一个key"+jedis.randomKey());  

28.         System.out.println("aa重命名为bb"+jedis.rename("aa""bb"));  

29.         System.out.println("删除bb"+jedis.del("bb"));  

30.         //从上面的方法可以看出,redis提供的接口方法名和redis-cli客户端提供的方法名是一样的,所以,只要对redis客户端的命令熟悉,那么Java操作redis就不是问题  

31.     }  

32.     /**  

33.      *   

34.      * @title demoString  

35.      * @description 测试String  

36.      * @author hadoop  

37.      */  

38.     public void demoString(){  

39.         Jedis jedis = RedisDataTypeDemo.getJedis();  

40.         System.out.println("设置name"+jedis.set("name""小花"));  

41.         System.out.println("设置name1"+jedis.set("name1""小花1"));  

42.         System.out.println("设置那么2"+jedis.set("name2""小花2"));  

43.         System.out.println("设置name,如果存在返回0"+jedis.setnx("name""小花哈哈"));  

44.         System.out.println("获取keynamename1value值:"+jedis.mget("name","name1"));  

45.         System.out.println("自增1"+jedis.incr("index"));  

46.         System.out.println("自增1"+jedis.incr("index"));  

47.         System.out.println("自增2"+jedis.incrBy("count"2));  

48.         System.out.println("自增2"+jedis.incrBy("count"2));  

49.         System.out.println("递减1"+jedis.decr("count"));  

50.         System.out.println("递减2"+jedis.decrBy("index",2));  

51.         System.out.println("name后面添加String"+jedis.append("name"",我爱你"));  

52.         System.out.println("获取keyname的值:"+jedis.get("name"));  

53.           

54.     }  

55.     /**  

56.      *   

57.      * @title demoList  

58.      * @description 测试list数据类型  

59.      * @author hadoop  

60.      */  

61.     public void demoList(){  

62.         Jedis jedis = RedisDataTypeDemo.getJedis();  

63.         //在头添加  

64.         jedis.lpush("list""hadoop","hbase","hive","pig","zookeeper");  

65.         //在末尾添加  

66.         jedis.rpush("list""java","struts");  

67.         //返回长度  

68.         jedis.llen("list");  

69.         //取值  

70.         List list = jedis.lrange("list"0, -1);  

71.         for (String string : list) {  

72.             System.out.println(string);  

73.         }  

74.     }  

75.     /**  

76.      *   

77.      * @title demoSet  

78.      * @description 测试set数据类型  

79.      * @author hadoop  

80.      */  

81.     public void demoSet(){  

82.         Jedis jedis = RedisDataTypeDemo.getJedis();  

83.         jedis.sadd("city""北京","上海","重启","武汉");  

84.         System.out.println("取出最上面的:"+jedis.spop("city"));  

85.         System.out.println("随机取出一个值"+jedis.srandmember("city"));  

86.         jedis.sadd("city2""北京","武汉","河北","张家界","辽林");  

87.         System.out.println("交集:"+jedis.sinter("city","city1"));  

88.         System.out.println("并集:"+jedis.sunion("city","city1"));  

89.         System.out.println("差集:"+jedis.sdiff("city","city1"));  

90.           

91.     }  

92.     /**  

93.      *   

94.      * @title demoMap  

95.      * @description 测试map数据类型  

96.      * @author hadoop  

97.      */  

98.     public void demoMap(){  

99.         Jedis jedis = RedisDataTypeDemo.getJedis();  

100.         jedis.hset("Mcity""c1""北京");  

101.         System.out.println("取值:"+jedis.hget("city""c1"));  

102.         Map mcity = new HashMap();  

103.         mcity.put("c1""桂林");  

104.         mcity.put("c2""天津");  

105.         mcity.put("c3""合肥");  

106.         jedis.hmset("Mcity2", mcity);  

107.         List list =  jedis.hmget("Mcity2""c1","c2","c3");  

108.         for (String string : list) {  

109.             System.out.println(string);  

110.         }  

111.         System.out.println(jedis.hlen("Mcity2"));  

112.     }  

113.     //测试  

114.     public static void main(String[] args) {  

115.         RedisDataTypeDemo rdr = new RedisDataTypeDemo();  

21.         pl.sync();  

22.         System.out.println("开始:"+System.currentTimeMillis());  

23.     }  

24.       

25.     public void noPipeline(){  

26.         Jedis jedis = RedisPipelineDemo.getJedis();  

27.         System.out.println("开始:"+System.currentTimeMillis());  

28.         for(int i = 0 ; i < 1000 ; i++){  

29.             jedis.incr("testPL");  

30.         }  

31.         System.out.println("开始:"+System.currentTimeMillis());  

32.     }  

33. }  

34.

4.redis事务

Redis事务代码  

1. package com.bjsxt.test;  

2.   

3. import java.util.List;  

4.   

5. import redis.clients.jedis.Jedis;  

6. import redis.clients.jedis.Transaction;  

7.   

8. public class RedisTXDemo {  

9.     public static Jedis getJedis(){  

10.         Jedis jedis = null;  

11.         jedis = new Jedis(FinalCollention.IP, 6379);  //redis服务器的ip和端口  

12.         jedis.auth(FinalCollention.PASSWORD);  //连接redis的密码  

13.         return jedis;  

14.     }  

15.     /**  

16.      *   

17.      * @title txDemo  

18.      * @description 没有异常的事务  

19.      * @author hadoop  

20.      */  

21.     public void txDemo(){  

22.         Jedis jedis = getJedis();  

23.         //开启事务  

24.         Transaction tx = jedis.multi();  

25.           

26.         tx.set("txcity""beijin");  

27.         tx.sadd("hi""abc");  

28.         tx.get("txcity");  

29.         List objs = tx.exec();  

30.           

31.         for (Object object : objs) {  

32.             System.out.println(object.toString());  

33.         }  

34.     }  

35.       

36.     /**  

37.      *   

38.      * @title txHasExDemo  

39.      * @description 含有异常的事务  

40.      * @author hadoop  

41.      */  

42.     public void txHasExDemo(){  

43.         Jedis jedis = getJedis();  

44.         //开启事务  

45.         Transaction tx = jedis.multi();  

46.           

47.         tx.set("txcity1""beijin");  

48.         tx.sadd("hi1""abc");  

49.         int i = 1/0;  

50.         tx.get("txcity1");  

51.         List objs = tx.exec();  

52.           

53.         for (Object object : objs) {  

54.             System.out.println(object.toString());  

55.         }  

56.     }  

57.       

58.     public static void main(String[] args) {  

59.         RedisTXDemo redisTXDemo = new RedisTXDemo();  

60.         redisTXDemo.txDemo();  

61.         redisTXDemo.txHasExDemo();  

62.     }  

63. }  

 从上面的方法可以看出,redis提供的接口方法名和redis-cli客户端提供的方法名是一样的,所以,只要对redis客户端的命令熟悉,那么Java操作redis就不是问题

免费下载 Word文档免费下载: Java操作redis-gwg整理

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服