redistemplate set方法_spring boot整合redis ---- RedisTemplate 三分钟快速入门
生活随笔
收集整理的這篇文章主要介紹了
redistemplate set方法_spring boot整合redis ---- RedisTemplate 三分钟快速入门
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
引入依賴
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency>RedisTemplate五種數(shù)據(jù)結構的操作
redisTemplate.opsForValue(); //操作字符串redisTemplate.opsForHash(); //操作hash
redisTemplate.opsForList(); //操作list
redisTemplate.opsForSet(); //操作set
redisTemplate.opsForZSet(); //操作有序zset
RedisTemplate方法講解
判斷key是否存在
/*** 判斷key是否存在*/@GetMapping("haskey")public boolean hasKey(String key) {return redisTemplate.hasKey(key);}獲取指定的key的失效時間
/*** 指定key的失效時間*/@GetMapping("expire")public void expire(String key, long time) {//參數(shù)一:key//參數(shù)二:睡眠時間//參數(shù)三:睡眠時間單位 TimeUnit.DAYS 天 TimeUnit.HOURS 小時 。。。redisTemplate.expire(key, time, TimeUnit.MINUTES);}根據(jù)key獲取過期時間
/*** 根據(jù)key獲取過期時間*/@GetMapping("getexpire")public long getExpire(String key) {Long expire = redisTemplate.getExpire(key);return expire;}根據(jù)key刪除reids中緩存數(shù)據(jù)
/*** 根據(jù)key刪除reids中緩存數(shù)據(jù)*/@GetMapping("delredisbykey")public void delete(String key) {redisTemplate.delete(key);}保存和讀取String
/*** 保存和讀取String*/@GetMapping("stringredisdemo")public String stringredisdemo() {//設置過期時間為1分鐘redisTemplate.opsForValue().set("key1", "value1", 1, TimeUnit.MINUTES);redisTemplate.opsForValue().set("key2", "value2");redisTemplate.opsForValue().set("key3", "value3");//讀取redis數(shù)據(jù)String result1 = redisTemplate.opsForValue().get("key1").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;}保存和讀取list
/*** 保存和讀取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 "成功";}Hash結構,保存和讀取map
/*** Hash結構,保存和讀取map*/@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 "成功";}保存和讀取Set
/*** 保存和讀取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;}保存和讀取zset
/*** 保存和讀取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 "成功";}完整示例代碼
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 {@AutowiredRedisTemplate redisTemplate;/*** 指定key的失效時間*/@GetMapping("expire")public void expire(String key, long time) {//參數(shù)一:key//參數(shù)二:睡眠時間//參數(shù)三:睡眠時間單位 TimeUnit.DAYS 天 TimeUnit.HOURS 小時 。。。redisTemplate.expire(key, time, TimeUnit.MINUTES);}/*** 根據(jù)key獲取過期時間*/@GetMapping("getexpire")public long getExpire(String key) {Long expire = redisTemplate.getExpire(key);return expire;}/*** 判斷key是否存在*/@GetMapping("haskey")public boolean hasKey(String key) {return redisTemplate.hasKey(key);}/*** 根據(jù)key刪除reids中緩存數(shù)據(jù)*/@GetMapping("delredisbykey")public void delete(String key) {redisTemplate.delete(key);}/*** 保存和讀取String*/@GetMapping("stringredisdemo")public String stringredisdemo() {//設置過期時間為1分鐘redisTemplate.opsForValue().set("key1", "value1", 1, TimeUnit.MINUTES);redisTemplate.opsForValue().set("key2", "value2");redisTemplate.opsForValue().set("key3", "value3");//讀取redis數(shù)據(jù)String result1 = redisTemplate.opsForValue().get("key1").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;}/*** 保存和讀取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 "成功";}/*** Hash結構,保存和讀取map*/@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 "成功";}/*** 保存和讀取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;}/*** 保存和讀取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 "成功";}}序列化
直接粘貼在項目中即可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;/* *序列化*/ @Configuration public class MyRedisConfig {@Bean(name = "redisTemplate")public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();//參照StringRedisTemplate內部實現(xiàn)指定序列化器redisTemplate.setConnectionFactory(redisConnectionFactory);redisTemplate.setKeySerializer(keySerializer());redisTemplate.setHashKeySerializer(keySerializer());redisTemplate.setValueSerializer(valueSerializer());redisTemplate.setHashValueSerializer(valueSerializer());return redisTemplate;}private RedisSerializer<String> keySerializer(){return new StringRedisSerializer();}//使用Jackson序列化器private RedisSerializer<Object> valueSerializer(){return new GenericJackson2JsonRedisSerializer();}}如果喜歡本篇文章,歡迎轉發(fā)、點贊。
記得關注我!
總結
以上是生活随笔為你收集整理的redistemplate set方法_spring boot整合redis ---- RedisTemplate 三分钟快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c 连接mysql后 怎么用_使用C语言
- 下一篇: linux的mysql主主_Linux下