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

摘要:
--https://mvnrepository.com/artifact/redis.clients/jedis--˃redis.clientsjedis2.9.0org.springframework.bootspring-boot-starter-data-redisorg.springframework.bootspring-boot-starter-webjunitjunitViewCode创建一个测试类packagecom.my.controller;importorg.junit.Before;importorg.junit.Test;importredis.clients.jedis.Jedis;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Set;publicclassjedis01Test{privateJedisjedis;@Beforepublicvoidbefore(){//链接Redisjedis=newJedis;//设置权限密码jedis.auth;jedis.ping();System.out.println("使用idea!
Jedis

  导入依赖

Idea中使用Redis的Java客户端和Jedis第1张Idea中使用Redis的Java客户端和Jedis第2张
<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

创建一个测试类

Idea中使用Redis的Java客户端和Jedis第3张Idea中使用Redis的Java客户端和Jedis第4张
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 classjedis01Test {
    privateJedis jedis;

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

    /**
     * jedis操作String类
     */@Test
    public voidRedisStringTest() {
        //切换数据库
        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 voidoperationList() {
        //切换数据库
        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 voidoperationSortedSet() {
        //切换数据库
        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 voidoperationMap() {
        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

  导入依赖

Idea中使用Redis的Java客户端和Jedis第5张Idea中使用Redis的Java客户端和Jedis第6张
<!-- 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=0spring.redis.host=192.168.119.76spring.redis.port=6379#spring.redis.password=redis

创建一个类

Idea中使用Redis的Java客户端和Jedis第7张Idea中使用Redis的Java客户端和Jedis第8张
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 classSpringBootRedis {
    @Resource
    privateStringRedisTemplate 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(newString[((Set) value).size()]);
            stringRedisTemplate.opsForSet().add(key, objects);
        }else if(value instanceof Map){
            stringRedisTemplate.opsForHash().putAll(key,(Map<?, ?>) value);

        }
    }
}
View Code

创建controller层

Idea中使用Redis的Java客户端和Jedis第9张Idea中使用Redis的Java客户端和Jedis第10张
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 classRedisController {
    @Resource
    privateSpringBootRedis springBootRedis;
    privateJedis jedis;

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

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

免责声明:文章转载自《Idea中使用Redis的Java客户端和Jedis》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android系统HAL开发实例ajax()函数传值中文乱码解决方法介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java 修改文件名

// 修改文件名 public static boolean modifyFileName(String serverPath, String oldFileName, String newLoginNo) { String oldPath = serverPath + "/" + oldF...

springboot postgresql druid连接池和jpa,jdbctemplate执行sql查询

1.maven依赖配置(pom.xml) 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter</...

.net Core 调用微信Jsapi接口,H5解析二维码

项目里需要用到扫描二维码,自己实现,不会。 找到了两种解决方案: 通过reqrcode.js,这是一个前端解析二维码内容的js库。如果二维码比较清晰,用这种效果也不错 调用微信扫一扫功能,这种效果很好。但是调试接口超级麻烦。 具体实现:前端代码(vue)(前端用到 vux) <template> <div class="main"&g...

Java基础之==与equal()的区别

  从刚学java起,对于==与euqal()之间的区别就一直模糊不清,搞了又搞,一直搞不明白,今天决定彻底搞懂。。。。   参考博客:http://www.cnblogs.com/pop822/p/6215040.html         http://www.jb51.net/article/73949.htm   问题分析:(1)==与equal...

5分钟让你学会用最高效的工具解析所有Json

如果你是一个Android开发工程师,学会解析Json字符串是你的必修课,本篇文章主要以实例的方式手把手教你怎么做,花五分钟时间阅读本篇文章你就可以学会解析所有的Json字符串啦。 准备: json字符串 fastjson HiJson格式化json工具 开始教程: fastjson: 常用工作中解析json的工具类有谷歌的GSON,jackson...

设置Django生产环境系统重启后的自动启动项

前面,作者已经介绍了把Django部署到生产环境中的主要方法,现在我们来看一下如何设置项目开机启动。 在把Django项目部署到生产环境中时,我们前面使用安装包和源码安装了Nginx、uwsgi、redis等,这些应用安装后,不会使用系统默认服务一样来快速启停服务,需要到对应的安装目录下才能启动应用。如果服务因为某些原因重启,上述应用不能自动启用,实际生产...