Idea中使用Redis的Java客户端和Jedis

Jedis

  导入依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
  </parent>
  <groupId>com.my</groupId>
  <artifactId>redis_jedis01</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>redis_jedis01</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>


  </dependencies>
View Code

创建一个测试类

package com.my.controller;

import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class jedis01Test {
    private Jedis jedis;

    @Before
    public void before() {
        //链接Redis
        jedis = new Jedis("192.168.119.76");
        //设置权限密码
        jedis.auth("redis");
        jedis.ping();
        System.out.println("使用idea!redis连接成功!");
    }

    /**
     * jedis操作String类
     */
    @Test
    public void RedisStringTest() {
        //切换数据库
        jedis.select(1);
        //设置一个String类型的key-value
        jedis.set("strKey2", "strValue2");
        /*//如何设置key的有效期
        jedis.expire("strkey1",17);*/
        //获取String数据
        String value = jedis.get("strKey1");
        System.out.println("对应存放的value值为" + value);
        //修改数据
        jedis.set("strKey2", "strValue02");
        //删除数据
        //jedis.del("strKey1");
        //设置多个值
        jedis.mset("strKey1s", "strValue1s", "strKey2s", "strValue2s", "strKey3s", "1");
        //+1操作
        jedis.incr("strKey3s");
        //-1操作
        jedis.decr("strKey3s");
        //拼接
        jedis.append("srtKey3s", "append");
    }

    @Test
    public void operationList() {
        //切换数据库
        jedis.select(1);
        //清空集合值
        jedis.del("listkey01", "listkey02");
        //设置List集合值,左侧插入(从下往上排序)
        jedis.lpush("listkey01", "张三", "李四", "王五");
        //设置List集合值,右侧插入(从上往下排序)
        jedis.rpush("listkey02", "北京", "上海", "广州");
        //获取List集合值
        List<String> listkey01 = jedis.lrange("listkey01", 0, -1);
        for (String item : listkey01) {
            System.out.println(item);
        }
        //更改List集合数据
        jedis.lset("listkey01", 0, "赵六");
    }

    @Test
    public void operationSortedSet() {
        //切换数据库
        jedis.select(1);
        //设置SortedSet集合
        jedis.zadd("setKey2", 1, "北京");
        jedis.zadd("setKey2", 2, "上海");
        //获取SortedSet
        Set<String> setKey02 = jedis.zrange("setKey2", 0, -1);
        for (String item : setKey02) {
            System.out.println(item);
        }
    }

    @Test
    public void operationMap() {
        jedis.select(1);
        //设置Map
        Map<String, String> map = new HashMap<>();
        map.put("name", "张三");
        map.put("age", "18");
        jedis.hmset("mapkey01", map);
        List<String> value = jedis.hmget("mapkey01", "name", "age");
        for (String item : value) {
            System.out.println(item);
        }
        Map<String, String> MepRedis = jedis.hgetAll("mapkey81");
    }
    }
View Code

Stringboot集成Jedis

  导入依赖

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
View Code

application.properties文件

spring.redis.database=0
spring.redis.host=192.168.119.76
spring.redis.port=6379
#spring.redis.password=redis

创建一个类

package com.my.service;

import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;

@Service
public class SpringBootRedis {
    @Resource
    private StringRedisTemplate stringRedisTemplate;


    public void set(String key ,Object value){
        if(value instanceof String) {
            stringRedisTemplate.opsForValue().set(key, (String) value, 200L, TimeUnit.SECONDS);
        }else if(value instanceof List) {
            List<String> list = (List) value;
            for (String item : list) {
                stringRedisTemplate.opsForList().leftPush(key, item);
            }
        }else if(value instanceof Set) {
            String[] objects = (String[]) ((Set) value).toArray(new String[((Set) value).size()]);
            stringRedisTemplate.opsForSet().add(key, objects);
        }else if (value instanceof Map){
            stringRedisTemplate.opsForHash().putAll(key,(Map<?, ?>) value);

        }
    }
}
View Code

创建controller层

package com.my.controller;

import com.my.service.SpringBootRedis;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import redis.clients.jedis.Jedis;

import javax.annotation.Resource;
import java.util.*;

@Controller
public class RedisController {
    @Resource
    private SpringBootRedis springBootRedis;
    private Jedis jedis;

    @RequestMapping("/setString")
    @ResponseBody
    public String setString(){
        springBootRedis.set("strkey","strvalue");
        return "成功";
    }

    @RequestMapping("/setList")
    @ResponseBody
    public String setList(){
        List<String> strList=new ArrayList<>();
        strList.add("张三");
        strList.add("李四");
        strList.add("王五");
        springBootRedis.set("listkey",strList);
        return "ListOK";
    }
    @RequestMapping("/setSet")
    @ResponseBody
    public String setSet(){
        Set<String> set=new HashSet<>();
        set.add("北京");
        springBootRedis.set("setkey",set);
        return "SetOk";
    }
    @RequestMapping("/setMap")
    @ResponseBody
    public String setMap(){
        Map map=new HashMap();
        map.put("name","张三");
        map.put("age","18");
        springBootRedis.set("mapkey",map);
        return "MapOK";
    }
}
View Code

猜你喜欢

转载自www.cnblogs.com/mayuan01/p/12119817.html