Java连接redis的使用示例

来源:互联网 发布:门诊处方软件 编辑:程序博客网 时间:2024/05/21 06:26

Java连接redis的使用示例

         Redis是开源的key-value存储工具,redis通常用来存储结构化的数据,因为rediskey可以包含Stringhashlistsetsorted list

         Redisserver目前最稳定的版本是2.8.9,可以到官网http://redis.io/download下载。根据机器的类型及位数下载对应的版本安装即可,reids支持linuxwindows操作系统。

         Redisclient支持多种语言,包括:cC++C#phpjavapythongo等语言,根据自己的开发语言,选择合适的redis client版本类型即可。我是使用java语言开发的,针对java语言,redis client也提供了多种客户端支持,按照推荐类型依次是:JedisRedissonJRedisJDBC-RedisRJCredis-protocolaredislettuce。前两种类型是比较推荐的,我们采用了Redisson类型版本作为redisclient的使用。

         Redisson的源码工程所在位置:https://github.com/mrniko/redisson。这里有使用示例及一些介绍,这里不再详细的介绍。

Redisson版的redis可发工程搭建

1.        新建maven工程

2.        在pom.xml文件的dependencies节点下增加如下内容:

<dependency>

        <groupId>org.redisson</groupId>

        <artifactId>redisson</artifactId>

        <version>1.0.2</version>

    </dependency>

   

    <dependency>

     <groupId>org.slf4j</groupId>

     <artifactId>slf4j-log4j12</artifactId>

     <version>1.7.7</version>

     </dependency>

 

3.        保存pom.xml后,等eclispe工程构建完成后即可进行开发了

4.        开发工程下载地址:http://download.csdn.net/detail/wgw335363240/7251125

开发示例

下面是演示连接redis服务器、保存读取concurrentMap对象、保存读取set对象和保存读取Queue对象的示例代码,代码比较简单,这里就不再详细讲解了,代码如下:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. package com.my.test.redis;  
  2.   
  3. import java.util.Queue;  
  4. import java.util.Set;  
  5. import java.util.concurrent.ConcurrentMap;  
  6.   
  7. import org.redisson.Config;  
  8. import org.redisson.Redisson;  
  9.   
  10. public class RedisExample {  
  11.   
  12.     /** 
  13.      * @param args 
  14.      */  
  15.     public static void main(String[] args) {  
  16.         // 1.初始化  
  17.         Config config = new Config();  
  18.         config.setConnectionPoolSize(10);  
  19.         config.addAddress("127.0.0.1:6379");  
  20.         Redisson redisson = Redisson.create(config);  
  21.         System.out.println("reids连接成功...");  
  22.   
  23.         // 2.测试concurrentMap,put方法的时候就会同步到redis中  
  24.         ConcurrentMap<String, Object> map = redisson.getMap("FirstMap");  
  25.         map.put("wuguowei""男");  
  26.         map.put("zhangsan""nan");  
  27.         map.put("lisi""女");  
  28.   
  29.         ConcurrentMap resultMap = redisson.getMap("FirstMap");  
  30.         System.out.println("resultMap==" + resultMap.keySet());  
  31.   
  32.         // 2.测试Set集合  
  33.         Set mySet = redisson.getSet("MySet");  
  34.         mySet.add("wuguowei");  
  35.         mySet.add("lisi");  
  36.   
  37.         Set resultSet = redisson.getSet("MySet");  
  38.         System.out.println("resultSet===" + resultSet.size());  
  39.           
  40.         //3.测试Queue队列  
  41.         Queue myQueue = redisson.getQueue("FirstQueue");  
  42.         myQueue.add("wuguowei");  
  43.         myQueue.add("lili");  
  44.         myQueue.add("zhangsan");  
  45.         myQueue.peek();  
  46.         myQueue.poll();  
  47.   
  48.         Queue resultQueue=redisson.getQueue("FirstQueue");  
  49.         System.out.println("resultQueue==="+resultQueue);  
  50.           
  51.         // 关闭连接  
  52.         redisson.shutdown();  
  53.     }  
  54.   
  55. }  

 

运行截图:

0 0