1. 程式人生 > 實用技巧 >Redis的基本使用

Redis的基本使用

1.下載安裝,Redis的客戶端:Redis Desktop Manager

2. 連線伺服器的Redis

3.引入依賴

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

4.編寫application.yml,配置連線Redis的host以及port等

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.0.153:3306/sell?characterEncoding=utf-8&useSSL=false
    username: root
    password: 123456
  redis:
    host: 192.168.0.153
    port: 6379

5. 例項通過Redis與cookie實現分散式系統的登入與登出

    @GetMapping("/login")
    
public ModelAndView login(@RequestParam("openid") String openid, HttpServletResponse response, Map<String, Object> map) { //1.從資料庫檢驗openid SellerInfo sellerInfo = sellerService.findBySellOpenId(openid); if (sellerInfo == null) { map.put(
"msg", ResultEnum.LOGIN_FAIL.getMsg()); map.put("url", "/sell/seller/product/list"); return new ModelAndView("common/error", map); } else { //2.將openid存入redis String token = UUID.randomUUID().toString(); Integer expire = RedisConstant.EXPIRE; stringRedisTemplate.opsForValue().set(String.format(RedisConstant.TOKEN_PREFIX, token), sellerInfo.getUsername(), expire, TimeUnit.SECONDS); //3.將token存入cookie CookieUtil.set(response, CookieConstant.name, token, CookieConstant.expire); map.put("url", "/sell/seller/product/list"); return new ModelAndView("common/success", map); } } @GetMapping("logout") public ModelAndView logout(HttpServletRequest request, HttpServletResponse response,Map<String, Object> map){ //1.從request中獲取對應的cookie Cookie cookie = CookieUtil.get(request); //2.將Redis對應的Token取消 String token = cookie.getValue(); stringRedisTemplate.opsForValue().getOperations().delete(String.format(RedisConstant.TOKEN_PREFIX,token)); //3.將Cookie對應的token取消 CookieUtil.set(response,CookieConstant.name,null,0); map.put("url", "/sell/seller/product/list"); map.put("msg",ResultEnum.LOGOUT_SUCCESS.getMsg()); return new ModelAndView("common/success", map); }