Redis的Java客户端Jedis

Jedis

  导入依赖

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

  创建一个测试类 名称为TestJedis

package com.wn.jedis01.jedis;

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

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

public class TestJedis {

    private Jedis jedis;

    @Before
    public void before(){
        //连接服务器
        jedis=new Jedis("192.168.138.76",6379);
        //权限认证
        //jedis.auth("wang2003");
        System.out.println(jedis.ping());
    }

    //String类型(字符串)
    @Test
    public void TestString(){
        //添加数据
        //jedis.set("k1","v1");

        //查询数据
        //String k1 = jedis.get("k1");
        //System.out.println(k1);

        //返回所储存的字符串的长度
        //Long k1 = jedis.strlen("k1");
        //System.out.println(k1);

        //key中储存的数据值加1
        //jedis.set("1","2");
        //Long incr = jedis.incr("1");
        //System.out.println(incr);

        //key中储存的数据值减1
        //Long decr = jedis.decr("1");
        //System.out.println(decr);
    }

    //List类型(列表)
    @Test
    public void TestList(){
        //将一个或多个值插入到列表的头部   从左侧开始
        //jedis.lpush("List01","张三","李四","王五");

        //在列表中添加一个或多个值  从右侧开始
        //jedis.rpush("List02","北京","上海","广州");

        //查看一个或多个值
        List<String> list01 = jedis.lrange("List01", 0, -1);
        for (String tring:list01){
            System.out.println(tring);
        }

        //获取列表的长度
        Long list011 = jedis.llen("List01");
        System.out.println(list011);

        //通过索引设置列表元素的值
        jedis.lset("List01",0,"赵六");
    }

    //set类型(无序集合)
    @Test
    public void TestSet(){
        //向集合中添加一个或多个成员
        //jedis.sadd("Set01","456","789");

        //返回集合中的所有成员
        Set<String> set01 = jedis.smembers("Set01");
        for (String string:set01){
            System.out.println(string);
        }

        //获取集合中的数量
        Long set011 = jedis.scard("Set01");
        System.out.println(set011);

        //删除集合中指定的value元素
        //jedis.srem("Set01","789");
    }


    //hash类型(哈希)
    @Test
    public void TestHash(){
        //将哈希key中的字段fileld的值设为value 添加
        //jedis.hset("Hash01","h1","北京");
        //jedis.hset("Hash01","h2","上海");

        //获取储存哈希表中指定字段的值
        //String hget = jedis.hget("Hash01", "h1");
        //System.out.println(hget);

        //查询多个值
        //List<String> hmget = jedis.hmget("Hash01", "h1", "h2");
        //System.out.println(hmget);

        //获取key中对应的值
        //Map<String, String> hash01 = jedis.hgetAll("Hash01");
        //System.out.println(hash01);

        //删除一个或多个哈希表中指定字段
        jedis.hdel("Hash01","h2");

        //获取表中的字段
        Set<String> hash01 = jedis.hkeys("Hash01");
        System.out.println(hash01);

        //获取表中所有值
        List<String> hash011 = jedis.hvals("Hash01");
        System.out.println(hash011);
    }

    //Zset类型(有序集合)
    @Test
    public void TestZset(){
        //添加一个或多个成员
        //jedis.zadd("Zset01",1,"123");

        //通过索引区间返回有序集合成指定区间的成员
        Set<String> zset01 = jedis.zrange("Zset01", 0, -1);
        System.out.println(zset01);

        //获取有序集合中的成员数
        Long zset011 = jedis.zcard("Zset01");
        System.out.println(zset011);

    }

}

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>

  application.properties文件

spring.redis.database=0
spring.redis.host=192.168.138.76
spring.redis.port=6379
#spring.redis.password=123456

  创建一个类 名称为TestRedis

package com.wn.jedis01.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;

@Service
public class TestRedis {

    @Resource
    private StringRedisTemplate stringRedisTemplate;

    public void set(String key,Object value){
        if (value instanceof String){  //判断是否是String类型
            stringRedisTemplate.opsForValue().set(key,(String)value);
        }else if(value instanceof List){  //判断是否是List类型
            List<String> list=(List)value;
            for (String item:list){
                stringRedisTemplate.opsForList().leftPush(key,item);
            }
        }else if (value instanceof Set){    //潘富案是否是Set类型
            String[] objects = (String[]) ((Set) value).toArray(new String[((Set) value).size()]);
            stringRedisTemplate.opsForSet().add(key,objects);   
        }else if(value instanceof Map){    //判断是否是Map类型
            stringRedisTemplate.opsForHash().putAll(key,(Map<?, ?>) value);
        }

    }

}

  创建controller层

package com.wn.jedis01.controller;

import com.wn.jedis01.service.TestRedis;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

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

@Controller
public class RedisController {

    @Resource
    private TestRedis testRedis;

    @RequestMapping("/String")
    @ResponseBody
    public String TestString(){
        testRedis.set("k1","v1");
        return "success";
    }

    @RequestMapping("/List")
    @ResponseBody
    public String TestList(){
        List<String> list=new ArrayList<>();
        list.add("张三");
        list.add("李四");
        testRedis.set("List01",list);
        return "success";
    }

    @RequestMapping("/Set")
    @ResponseBody
    public String TestSet(){
        Set<String> set=new HashSet<>();
        set.add("123");
        set.add("456");
        testRedis.set("Set01",set);
        return "success";
    }

    @RequestMapping("/Map")
    @ResponseBody
    public String TestMap(){
        Map map=new HashMap();
        map.put("name","张三");
        map.put("age","18");
        testRedis.set("Map01",map);
        return "success";
    }

}
原文地址:https://www.cnblogs.com/wnwn/p/12119532.html