• Redis常见使用场景


    • 缓存
    • 数据共享分布式
    • 分布式锁
    • 全局ID
    • 计数器
    • 限流
    • 位统计
    • 购物车
    • 用户消息时间线timeline
    • 消息队列
    • 抽奖
    • 点赞、签到、打卡
    • 商品标签
    • 商品筛选
    • 用户关注、推荐模型
    • 排行榜

    1、缓存

    String类型

    例如:热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的访问数据。

    2、数据共享分布式

    String 类型,因为 Redis 是分布式的独立服务,可以在多个应用之间共享

    分布式Session

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

    3、分布式锁

    String 类型setnx方法,只有不存在时才能添加成功,返回true

    public static boolean getLock(String key) {

    /////////////在指定的 key 不存在时,为 key 设置指定的值        设置成功,返回 1 。 设置失败,返回 0 。
        Long flag = jedis.setnx(key, "1");
        if (flag == 1) {

    //////////设置过期时间
            jedis.expire(key, 10);
        }
        return flag == 1;
    }

    public static void releaseLock(String key) {
        jedis.del(key);
    }

    4、全局ID

    int类型,incrby,利用原子性

    ///////////在原基础上增加

    incrby userid 1000

    分库分表的场景,一次性拿一段

    5、计数器

    int类型,incr方法

    例如:文章的阅读量、微博点赞数、允许一定的延迟,先写入Redis再定时同步到数据库

    6、限流

    int类型,incr方法

    以访问者的ip和其他信息作为key,访问一次增加一次计数,超过次数则返回false

  • 相关阅读:
    Charles手机端抓包--证书
    新浪微盘批量下载
    [3140] Sublime Text 2.x, 3.x 通用注册码、密钥集合
    栈的数组实现
    栈的链表实现
    基数排序
    多项式相乘-数组实现
    最大子序列和问题的四种算法
    链表的实现
    时间同步算法与Simple Ring-based election algorithm算法分析-转载
  • 原文地址:https://www.cnblogs.com/KL2016/p/15084483.html
Copyright © 2020-2023  润新知