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>
创建一个测试类

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");
}
}
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.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);
}
}
}
创建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";
}
}
来源:https://www.cnblogs.com/mayuan01/p/12119817.html
