天易45------redis for windows安装与使用

来源:互联网 发布:mac上彻底删除软件 编辑:程序博客网 时间:2024/06/05 19:35

1.   下载window版本的zip压缩包(Redis-x64-3.2.100版本)

2.   解压zip压缩包到指定目录,本文放在D:\javasoftware\redis\Redis-x64-3.2.100

3.   解压后的文件目录如下:


4..   cmd命令进入redis目录:D:\javasoftware\redis\Redis-x64-3.2.100

1)在redis的目录下执行(执行后就作为windows服务了)

   redis-server --service-install redis.windows.conf

2)  添加开机自动启动后后需要手动启动redis

   redis-server --service-start

3)  停止服务

   redis-server --service-stop

4)卸载redis服务

      redis-server --service-uninstall

右键计算机—》管理—》服务和应用程序—》服务:

5.   修改redis服务绑定的ip地址,找到redis解压目录编辑redis.windows.conf配置文件,在文件中搜索并找到bind关键字,如下截图:

修改图中红色箭头指向的ip地址修改其ip地址即可


6.   java简单示例应用

1)        下载引进jedis所对应的版本的jar包(高版本的jar包可能对应较高的jdk版本,我是用的jedis版本为2.9.0对应的jdk版本为jdk1.8),本博客对应的下载地址:

http://download.csdn.net/detail/wangzihu/9893829

2)        Java简单代码如下:

public static voidmain(String[] args) {

    // TODOAuto-generated method stub

    //连接本地的Redis服务

        Jedis jedis = new Jedis("192.168.120.154");

        System.out.println("连接成功");

        jedis.set("runoobkey","ty");

        // 获取存储的数据并输出

        System.out.println("redis存储的字符串为: "+jedis.get("runoobkey"));

}

3)        如果使用redis连接池,还需要导入commons-pool2-2.4.2.jar包,下载地址:http://download.csdn.net/detail/wangzihu/9893832

Java代码示例:

package com.test;

 

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

importredis.clients.jedis.JedisPoolConfig;

 

public class RedisSource {

  privatestatic JedisPool jedisPool = null;

   // Redis服务器IP

   private static String ADDR = "192.168.120.154";

   // Redis的端口号

   private static int PORT = 6379;

   // 访问密码

   private static String AUTH = "123456";

 

   /**

    * 初始化Redis连接池

    */

   static {

       try {

           JedisPoolConfig config = new JedisPoolConfig();

           // 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true

           config.setBlockWhenExhausted(true);

           // 设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数)

           config.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy");

           // 是否启用pool的jmx管理功能, 默认true

           config.setJmxEnabled(true);

           // 最大空闲连接数, 默认8个 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。

           config.setMaxIdle(8);

           // 最大连接数, 默认8个

           config.setMaxTotal(200);

           // 表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;

           config.setMaxWaitMillis(1000 * 100);

           // 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;

           config.setTestOnBorrow(true);

           jedisPool = new JedisPool(config, ADDR, PORT, 3000);

       } catch (Exception e) {

           e.printStackTrace();

       }

   }

   /**

    * 获取Jedis实例

    *

    * @return

    */

   public synchronized static Jedis getJedis() {

       try {

            if (jedisPool != null) {

                Jedis resource =jedisPool.getResource();

                return resource;

           } else {

                return null;

           }

       } catch (Exception e) {

           e.printStackTrace();

            return null;

       }

   }

   public static void close(final Jedis jedis) {

       if (jedis != null) {

           jedis.close();

       }

   }

 

   public static void main(String[] args) {

       Jedis jedis = RedisSource.getJedis();

       //do something

 

//       RedisSource.close(jedis);

   }

 

}

 

调用获取redis对象代码示例:

import java.util.LinkedList;

import java.util.List;

 

import com.google.gson.Gson;

 

import redis.clients.jedis.Jedis;

 

public class RedisTest {

 

   publicstatic void main(String[] args) {

         //TODO Auto-generated method stub

         Gsongson=new Gson();

         Jedisjedis=RedisSource.getJedis();

//           jedis.del("userInfo");

//           Map<String,String>map = new HashMap<String,String>();

//           map.put("name","ty");

//           map.put("sex","27");

//           jedis.hmset("mapInfo",map);

//           System.out.println(jedis.hvals("mapInfo"));

//           UserInfouser=new UserInfo();

//           user.setName("天易");

//           user.setSex("男");

//           user.setAddr("27");

//           user.setAddr("山东省临沂市河东区");

        

//           jedis.set("userInfo",gson.toJson(user));

         System.out.println(jedis.get("userInfo"));

         UserInfouserList=gson.fromJson(jedis.get("userInfo").toString(),UserInfo.class);

   System.out.println(userList.getAddr()+"==="+userList.getName()+"==="+jedis.exists("userInfo"));

         if(jedis.exists("userInfo")){

              UserInfouser=new UserInfo();

              user.setName("wzh1");

              user.setSex("男");

              user.setAddr("27");

              user.setAddr("山东省临沂市");

              jedis.set("userInfo",gson.toJson(user));

         }

         UserInfouserList1=gson.fromJson(jedis.get("userInfo").toString(),UserInfo.class);

         System.out.println(userList1.getAddr()+"==="+userList1.getName());

         System.out.println(jedis.get("runoobkey"));

   };

 

}


原创粉丝点击