美文网首页
Redis-简易投票

Redis-简易投票

作者: GIT提交不上 | 来源:发表于2020-04-13 23:13 被阅读0次

    一、简易投票介绍

      基于Spring Boot+MyBatis+Redis+MySQL实现简易投票功能,完整代码见:https://github.com/just-right/vote

    • 使用EasyCode插件快速生成通用代码
    • 设置投票开始日期 & 结束日期
    • 添加投票次数限制
    • 添加投票时间间隔限制
    • 使用ProtostuffIOUtil序列化对象
    • 使用Jmeter工具测试秒杀

    二、前期准备

    2.1 MySQL数据库准备:

    • 对应的SQL见 /src/main/resources/sql/CreateDataBase.sql
    • 创建数据库mybatis
    • 建表 - vote_activity(投票活动)/vote_option(投票选项)
    • MySQL配置信息见 /src/main/resources/application.properties

    2.2 Redis数据库准备:

    • Redis配置信息见 /src/main/resources/application.properties

    2.3 PostMan测试工具准备:

    2.4 Jmeter测试工具准备:

    三、测试步骤

    3.1 创建投票活动

      使用PostMan发出创建投票活动请求:

    http://127.0.0.1:8081/voteActivity/createVote

      请求体为:

    {
        "id":"",
        "name":"画画比赛-投票活动",
        "begindatetime":"2020-04-13 21:26:20",
        "enddatetime":"2020-04-14 23:59:20",
        "optionList":[
            {
                "id":"",
                "aid":"",
                "serialnumber": 1,
                "name": "张三",
                "score":"0",
            },
            {
                "id":"",
                "aid":"",
                "serialnumber": 2,
                "name": "李四",
                "score":"0",
            },
            {
                "id":"",
                "aid":"",
                "serialnumber": 3,
                "name": "王五",
                "score":"0",
            },
            {
                "id":"",
                "aid":"",
                "serialnumber": 4,
                "name": "赵六",
                "score":"0",
            },
        ]
    }
    
    //返回投票活动信息
    {
        "msg": "投票活动创建成功",
        "data": {
            "begindatetime": "2020-04-13 21:26:20",
            "enddatetime": "2020-04-14 23:59:20",
            "id": 0,
            "name": "画画比赛-投票活动",
            "optionList": [
                {
                    "aid": 39,
                    "id": 81,
                    "name": "张三",
                    "score": 0,
                    "serialnumber": 1
                },
                {
                    "aid": 39,
                    "id": 82,
                    "name": "李四",
                    "score": 0,
                    "serialnumber": 2
                },
                {
                    "aid": 39,
                    "id": 83,
                    "name": "王五",
                    "score": 0,
                    "serialnumber": 3
                },
                {
                    "aid": 39,
                    "id": 84,
                    "name": "赵六",
                    "score": 0,
                    "serialnumber": 4
                }
            ]
        }
    }
    

    3.2 访问投票界面

      查看数据库中由3.1新增的投票活动ID,使用PostMan发出请求:

    http://127.0.0.1:8081/voteActivity/showVoteDetail/39

    //返回投票活动信息
    {
        "msg": "投票活动进行中",
        "data": {
            "begindatetime": "2020-04-13 21:26:20",
            "enddatetime": "2020-04-14 23:59:20",
            "id": 0,
            "name": "画画比赛-投票活动",
            "optionList": [
                {
                    "aid": 39,
                    "id": 81,
                    "name": "张三",
                    "score": 0,
                    "serialnumber": 1
                },
                {
                    "aid": 39,
                    "id": 82,
                    "name": "李四",
                    "score": 0,
                    "serialnumber": 2
                },
                {
                    "aid": 39,
                    "id": 83,
                    "name": "王五",
                    "score": 0,
                    "serialnumber": 3
                },
                {
                    "aid": 39,
                    "id": 84,
                    "name": "赵六",
                    "score": 0,
                    "serialnumber": 4
                }
            ]
        }
    }
    

    3.3 开始投票

      使用Jmeter测试工具进行测试。

    3.4 查看结果

    相关文章

      网友评论

          本文标题:Redis-简易投票

          本文链接:https://www.haomeiwen.com/subject/qyxamhtx.html