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"; } }