短链服务接口慢优化 redis应用

短链服务接口慢优化 redis应用短链接服务:1.长链接 查询 短链接(长链接如果存在,直接返回短链接,如果长链接不存在,则需要生成短链接),比如:在获取短信之前,或者管理后台编辑短信内容之前,需要根据长链接去获取短链接的。2.短链接

短链服务接口慢优化 redis应用

短链服务接口慢优化 redis应用

短链接服务: 1.长链接 查询 短链接(长链接如果存在,直接返回短链接,如果长链接不存在,则需要生成短链接),比如:在获取短信之前,或者管理后台编辑短信内容之前,需要根据长链接去获取短链接的。 2.短链接 查询 长链接,比如:在短信中点击短链,短链需要根据短链的Code去获取长链接,然后redirect跳转实现。

方案1:以上两处的查询,都需要考虑加上mongodb索引。可以将接口响应速度提高到毫秒内,之前需要2~3秒。 mongodb查询语句: db.shortUrlTestMongoDB.find({"long_url":"https://长链接地址?orderNo=DINGDANHAO&memNo=HUIYUANHAO"}) db.shortUrlTestMongoDB.find({"code":"123564"})

方案2:在服务调用方处,加上redis缓存,可以理解为:每个订单号对应的短链CODE是不变的,没必要每次都是调用短链服务。 弊端:在首次调用初始化的时候会慢,其他的时候都是很快。

DEMO代码示例:

代码语言:javascript代码运行次数:0运行复制
@Autowired
    private StringRedisTemplate stringRedisTemplate;
    
    String redisShortUrl = "redisKeyTest:orderNo:";
    //存入缓存当中
    String redisKeyValue = stringRedisTemplate.opsForValue().get(redisShortUrl + orderNo);
    if (StringUtils.isEmpty(redisKeyValue)) {
        //调用短链服务获取短链Code
        //返回该code,比如变量为:code,失效时间设置为30天
        stringRedisTemplate.opsForValue().set(redisShortUrl + orderNo, code, 30, TimeUnit.DAYS);
    } else {
        //直接返回redisKeyValue(即code)
        log.info("get from redis,redisKeyValue=[{}]",redisKeyValue);
    }

谷歌浏览器F12查看接口的请求响应时间工具:打开谷歌浏览器 >> F12

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-05-22,如有侵权请联系 cloudcommunity@tencent 删除缓存redis服务接口优化

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754971003a5223094.html

相关推荐

  • 短链服务接口慢优化 redis应用

    短链服务接口慢优化 redis应用短链接服务:1.长链接 查询 短链接(长链接如果存在,直接返回短链接,如果长链接不存在,则需要生成短链接),比如:在获取短信之前,或者管理后台编辑短信内容之前,需要根据长链接去获取短链接的。2.短链接

    1月前
    210

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信