最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot整合redis進行數(shù)據(jù)操作(推薦)

 更新時間:2017年10月13日 16:11:31   作者:meepoGuan  
springboot整合redis比較簡單,并且使用redistemplate可以讓我們更加方便的對數(shù)據(jù)進行操作。下面通過本文給大家分享springboot整合redis進行數(shù)據(jù)操作的相關(guān)知識,感興趣的朋友一起看看吧

redis是一種常見的nosql,日常開發(fā)中,我們使用它的頻率比較高,因為它的多種數(shù)據(jù)接口,很多場景中我們都可以用到,并且redis對分布式這塊做的非常好。

springboot整合redis比較簡單,并且使用redistemplate可以讓我們更加方便的對數(shù)據(jù)進行操作。

1、添加依賴

 <dependency> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-data-redis</artifactId> 
lt;/dependency> 

2、在application.properties中加入相關(guān)配置

spring.redis.database=0 
spring.redis.host=127.0.0.1 
spring.redis.port=6379 
spring.redis.password= 
spring.redis.pool.max-idle=8 
spring.redis.pool.min-idle=0 
spring.redis.pool.max-active=8 
spring.redis.pool.max-wait=-1 
spring.redis.timeout=5000 

3、編寫配置類

import org.springframework.cache.CacheManager; 
import org.springframework.cache.annotation.EnableCaching; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.data.redis.cache.RedisCacheManager; 
import org.springframework.data.redis.connection.RedisConnectionFactory; 
import org.springframework.data.redis.core.RedisTemplate; 
import org.springframework.data.redis.core.StringRedisTemplate; 
@Configuration 
@EnableCaching 
public class RedisConfig { 
  @Bean 
  public CacheManager cacheManager(RedisTemplate<?,?> redisTemplate) { 
   CacheManager cacheManager = new RedisCacheManager(redisTemplate); 
   return cacheManager; 
  } 
  @Bean 
  public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) { 
   RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>(); 
   redisTemplate.setConnectionFactory(factory); 
   return redisTemplate; 
  } 
  @Bean 
  public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory) { 
   StringRedisTemplate stringRedisTemplate = new StringRedisTemplate(); 
   stringRedisTemplate.setConnectionFactory(factory); 
   return stringRedisTemplate; 
  } 
} 

這里定義了兩個bean,一個是redisTemplate,另一個是stringRedisTemplate,它們的序列化方式不同,前者默認jdk序列方式,后者默認string的序列化方式,后者一般專門用于存儲string格式,前者我們可以用來保存對象等,這里我們都配置上,根據(jù)不同業(yè)務進行不同使用。

4、編寫實體類

public class User implements Serializable{ 
 /** 
  * 
  */ 
 private static final long serialVersionUID = 3221700752972709820L; 
 private int id; 
 private String name; 
 private int age; 
 public int getId() { 
  return id; 
 } 
 public void setId(int id) { 
  this.id = id; 
 } 
 public String getName() { 
  return name; 
 } 
 public void setName(String name) { 
  this.name = name; 
 } 
 public int getAge() { 
  return age; 
 } 
 public void setAge(int age) { 
  this.age = age; 
 } 
 public User(int id, String name, int age) { 
  super(); 
  this.id = id; 
  this.name = name; 
  this.age = age; 
 } 
} 

5、編寫測試service

@Service 
public class UserService { 
 @Autowired 
 private StringRedisTemplate stringRedisTemplate; 
 @Autowired 
 private RedisTemplate<String, Object> redisTemplate; 
 public void set(String key, User user) { 
  redisTemplate.opsForValue().set(key, user); 
 } 
 public User get(String key) { 
  return (User) redisTemplate.boundValueOps(key).get(); 
 } 
 public void setCode(String key, String code) { 
  stringRedisTemplate.opsForValue().set(key, code, 60, TimeUnit.SECONDS); 
 } 
 public String getCode(String key) { 
  return stringRedisTemplate.boundValueOps(key).get(); 
 } 
} 

這里我們模擬兩種操作,一種是根據(jù)key存儲user對象,另一種是存儲key value均為string的操作,并且賦予數(shù)據(jù)過期時間,這種操作我們可以用于驗證碼存儲,在setcode方法中,我們存儲了一個有效時長為60s的數(shù)據(jù),當60s過后,數(shù)據(jù)會自動銷毀。

6、編寫測試controller訪問

@RestController 
@RequestMapping("rest_redis") 
public class RedisController { 
 @Resource 
 private UserService userService; 
 @GetMapping("set") 
 public void set() { 
  userService.set("key1", new User(1, "meepoguan", 26)); 
 } 
 @GetMapping("get") 
 public String get() { 
  return userService.get("key1").getName(); 
 } 
 @GetMapping("stringset") 
 public void stringset() { 
  userService.setCode("stringkey", "meepoguan_coke"); 
 } 
 @GetMapping("stringget") 
 public String stringget() { 
  return userService.getCode("stringkey"); 
 } 
} 

對service中的方法進行測試。

總結(jié)

以上所述是小編給大家介紹的springboot整合redis進行數(shù)據(jù)操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

德保县| 合阳县| 灌云县| 长垣县| 长垣县| 澜沧| 北流市| 双桥区| 瓦房店市| 灌南县| 漯河市| 海兴县| 望奎县| 桂平市| 若羌县| 阜平县| 金湖县| 桃园县| 渝中区| 枞阳县| 酒泉市| 徐汇区| 沛县| 济宁市| 林州市| 威信县| 昌宁县| 蒙自县| 眉山市| 云霄县| 报价| 石林| 玉林市| 城市| 合山市| 宿松县| 年辖:市辖区| 牡丹江市| 长武县| 临海市| 通渭县|