Introduction of depend on

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
1234
Copy the code

RedisTemplate operation of five data structures

  1. redisTemplate.opsForValue(); // Operation string
  2. redisTemplate.opsForHash(); / / the hash operation
  3. redisTemplate.opsForList(); / / the list to operate
  4. redisTemplate.opsForSet(); / / set operation
  5. redisTemplate.opsForZSet(); // run zset

RedisTemplate method

Check whether the key exists

@getMapping ("haskey") public Boolean haskey (String key) {return redistemplate.haskey (key); } 1234567Copy the code

Gets the expiration time of the specified key

*/ @getMapping ("expire") public void expire(String key, long time) { Timeunit.days Timeunit.hours HOURS... redisTemplate.expire(key, time, TimeUnit.MINUTES); } 12345678910Copy the code

Obtain the expiration time by key

/** * getexpire time by key */ @getmapping ("getexpire") public long getexpire (String key) {long expire = redisTemplate.getExpire(key); return expire; } 12345678Copy the code

Delete cached data in REIDS based on key

@getMapping (" delredisbyKey ") public void delete(String key) {redistemplate.delete (key); } 1234567Copy the code

Save and read strings

String */ @getMapping (" stringRedisdemo ") Public String stringredisdemo() {// Set expiration time to 1 minute redisTemplate.opsForValue().set("key1", "value1", 1, TimeUnit.MINUTES); redisTemplate.opsForValue().set("key2", "value2"); redisTemplate.opsForValue().set("key3", "value3"); / / read redis data String. Result1 = redisTemplate opsForValue () get (" key1 "). The toString (); String result2 = redisTemplate.opsForValue().get("key2").toString(); String result3 = redisTemplate.opsForValue().get("key3").toString(); System.out.println(" Result: "+ result1 +" "+ result2 +" "+ result3); Return "Result:" + result1 + "" + result2 +" "+ result3; } 12345678910111213141516Copy the code

Save and read the list

@getMapping (" listredisDemo ") public String listredisDemo () {list <String> list1 = new ArrayList<>(); list1.add("a1"); list1.add("a2"); list1.add("a3"); List<String> list2 = new ArrayList<>(); list2.add("b1"); list2.add("b2"); list2.add("b3"); redisTemplate.opsForList().leftPush("listkey1", list1); redisTemplate.opsForList().rightPush("listkey2", list2); List<String> resultList1 = (List<String>) redisTemplate.opsForList().leftPop("listkey1"); List<String> resultList2 = (List<String>) redisTemplate.opsForList().rightPop("listkey2"); System.out.println("resultList1:" + resultList1); System.out.println("resultList2:" + resultList2); Return C. } 123456789101112131415161718192021Copy the code

Hash structure to save and read the map

/** * Hash structure, @getMapping (" mapRedisdemo ") public String mapredisdemo() {map <String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); map.put("key4", "value4"); map.put("key5", "value5"); redisTemplate.opsForHash().putAll("map1", map); Map<String, String> resultMap = redisTemplate.opsForHash().entries("map1"); List<String> reslutMapList = redisTemplate.opsForHash().values("map1"); Set<String> resultMapSet = redisTemplate.opsForHash().keys("map1"); String value = (String) redisTemplate.opsForHash().get("map1", "key1"); System.out.println("value:" + value); System.out.println("resultMapSet:" + resultMapSet); System.out.println("resultMap:" + resultMap); System.out.println("resulreslutMapListtMap:" + reslutMapList); Return C. } 12345678910111213141516171819202122Copy the code

Save and read the Set

@getMapping ("setredisdemo") public String getredisdemo() {SetOperations<String, String> set = redisTemplate.opsForSet(); set.add("key1", "value1"); set.add("key1", "value2"); set.add("key1", "value3"); Set<String> resultSet = redisTemplate.opsForSet().members("key1"); System.out.println("resultSet:" + resultSet); return "resultSet:" + resultSet; } 12345678910111213Copy the code

Save and read zset

/ * * * to save and read zset * / @ GetMapping (" zsetredisdemo ") public String zsetredisdemo () {ZSetOperations. TypedTuple < Object > ObjectTypedTuple1 = new DefaultTypedTuple<>(" zSET-5 ", 9.6); ZSetOperations. TypedTuple < Object > objectTypedTuple2 = new DefaultTypedTuple < > (" zset - 6 ", 9.9); Set<ZSetOperations.TypedTuple<Object>> tuples = new HashSet<>(); tuples.add(objectTypedTuple1); tuples.add(objectTypedTuple2); System.out.println(redisTemplate.opsForZSet().add("zset1", tuples)); System.out.println(redisTemplate.opsForZSet().range("zset1", 0, -1)); Return C. } 1234567891011121314Copy the code

Complete sample code

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.DefaultTypedTuple; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.SetOperations; import org.springframework.data.redis.core.ZSetOperations; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.*; import java.util.concurrent.TimeUnit; @RestController public class ReidsDemo { @Autowired RedisTemplate redisTemplate; */ @getMapping ("expire") public void expire(String key, long time) { Timeunit.days Timeunit.hours HOURS... redisTemplate.expire(key, time, TimeUnit.MINUTES); } /** * getexpire time by key */ @getmapping ("getexpire") public long getexpire (String key) {long expire = redisTemplate.getExpire(key); return expire; } @getMapping ("haskey") public Boolean haskey (String key) {return redistemplate.haskey (key); } @getMapping (" delredisbyKey ") public void delete(String key) {redistemplate.delete (key); } String */ @getMapping (" stringRedisdemo ") public String stringredisdemo() {// Set expiration time to 1 minute redisTemplate.opsForValue().set("key1", "value1", 1, TimeUnit.MINUTES); redisTemplate.opsForValue().set("key2", "value2"); redisTemplate.opsForValue().set("key3", "value3"); / / read redis data String. Result1 = redisTemplate opsForValue () get (" key1 "). The toString (); String result2 = redisTemplate.opsForValue().get("key2").toString(); String result3 = redisTemplate.opsForValue().get("key3").toString(); System.out.println(" Result: "+ result1 +" "+ result2 +" "+ result3); Return "Result:" + result1 + "" + result2 +" "+ result3; } @getMapping ("listredisdemo") public String listredisDemo () {list <String> list1 = new ArrayList<>(); list1.add("a1"); list1.add("a2"); list1.add("a3"); List<String> list2 = new ArrayList<>(); list2.add("b1"); list2.add("b2"); list2.add("b3"); redisTemplate.opsForList().leftPush("listkey1", list1); redisTemplate.opsForList().rightPush("listkey2", list2); List<String> resultList1 = (List<String>) redisTemplate.opsForList().leftPop("listkey1"); List<String> resultList2 = (List<String>) redisTemplate.opsForList().rightPop("listkey2"); System.out.println("resultList1:" + resultList1); System.out.println("resultList2:" + resultList2); Return C. } /** * Hash, @getMapping (" mapRedisdemo ") public String mapredisdemo() {map <String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); redisTemplate.opsForHash().putAll("map1", map); Map<String, String> resultMap = redisTemplate.opsForHash().entries("map1"); List<String> reslutMapList = redisTemplate.opsForHash().values("map1"); Set<String> resultMapSet = redisTemplate.opsForHash().keys("map1"); String value = (String) redisTemplate.opsForHash().get("map1", "key1"); System.out.println("value:" + value); System.out.println("resultMapSet:" + resultMapSet); System.out.println("resultMap:" + resultMap); System.out.println("resulreslutMapListtMap:" + reslutMapList); Return C. } @getMapping ("setredisdemo") public String getredisdemo() {SetOperations<String, String> set = redisTemplate.opsForSet(); set.add("key1", "value1"); set.add("key1", "value2"); set.add("key1", "value3"); Set<String> resultSet = redisTemplate.opsForSet().members("key1"); System.out.println("resultSet:" + resultSet); return "resultSet:" + resultSet; } / save and read zset * / * * * @ GetMapping (" zsetredisdemo ") public String zsetredisdemo () {ZSetOperations. TypedTuple < Object > ObjectTypedTuple1 = new DefaultTypedTuple<>(" zSET-5 ", 9.6); ZSetOperations. TypedTuple < Object > objectTypedTuple2 = new DefaultTypedTuple < > (" zset - 6 ", 9.9); Set<ZSetOperations.TypedTuple<Object>> tuples = new HashSet<>(); tuples.add(objectTypedTuple1); tuples.add(objectTypedTuple2); System.out.println(redisTemplate.opsForZSet().add("zset1", tuples)); System.out.println(redisTemplate.opsForZSet().range("zset1", 0, -1)); Return C. }} 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646 566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 117118119120121122123124125126127128129130131132133134135136137138139140141142143Copy the code

serialization

Paste it directly into the project

import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; /* * serialize */ @configuration public class MyRedisConfig {@bean (name = "redisTemplate") public redisTemplate <String Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){ RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); / / reference StringRedisTemplate internal implementation to specify the serializer redisTemplate. SetConnectionFactory (redisConnectionFactory); redisTemplate.setKeySerializer(keySerializer()); redisTemplate.setHashKeySerializer(keySerializer()); redisTemplate.setValueSerializer(valueSerializer()); redisTemplate.setHashValueSerializer(valueSerializer()); return redisTemplate; } private RedisSerializer<String> keySerializer(){ return new StringRedisSerializer(); } / / using Jackson serializer private RedisSerializer < Object > valueSerializer () {return new GenericJackson2JsonRedisSerializer (); }}Copy the code

Finally, welcome to pay attention to my public account: Java programmers gathering place, Maidong will share Java related technical articles or industry information every day, welcome to pay attention to and forward the article!