zoukankan      html  css  js  c++  java
  • 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);
        }
  • 相关阅读:
    python小程序之购物系统
    列表,元祖,字典的使用
    几个python小程序
    default
    RTTI
    man
    养喜神去杀机
    IDEA+Maven+Git
    入门
    CheckStyle简介
  • 原文地址:https://www.cnblogs.com/shouyaya/p/13227453.html
Copyright © 2011-2022 走看看