简介 目录 评价 推荐
  • 慕田峪0394750 2024-05-26

    redis计数器应用场景


    0赞 · 0采集
  • 慕标4508285 2023-12-29

    常用数据类型11111


    0赞 · 0采集
  • 慕标4508285 2023-12-29

    与memcache对比


    0赞 · 0采集
  • 叶0528 2023-02-27

    PHP

    课程介绍

    > 认识Redis的本质:设计目标,应用场景

    >理解Redis的工作模式

    >认识Redis计数器

    >如何用Redis计数器实现并发场景下的数量控制

    0赞 · 0采集
  • Ganjr 2022-06-06

    课程总结

    • Redis 的本质

    • Redis 的工作模式

    • 用 Redis:实现计数器

    • 用 Redis 计数器实现并发场景下的数量控制

    0赞 · 0采集
  • Ganjr 2022-06-06

    数量控制器 v2

    http://img4.mukewang.com/629d6d700001c70405420758.jpg

    0赞 · 0采集
  • Ganjr 2022-06-06

    数量控制器 v1

    http://img1.mukewang.com/629d6b980001decb06820978.jpg

    并发场景:客户端 A、B 同时访问数量控制器


    问题 1:

    A 先执行 incrby,然后 B 执行 set,数据不一致


    问题 2:

    假定限量 100,A、B 同时读到当前数量为 99,A、B 执行完 incrby 后,总量为 101,超限了

    0赞 · 0采集
  • Ganjr 2022-06-06

    Redis 计数器

    • 频率控制:接口防刷,密码尝试次数限制。

    • 数量统计:请求量统计。

    • 数量控制:商品抢购,奖励额度控制。

    0赞 · 0采集
  • Ganjr 2022-06-06

    Redis 常用数据类型

    • STRING 字符串。整数型字符串

    • HASH 哈希。PHP 关联数组,Python 字典

    • LIST 列表。Python 元组

    • SET 集合。集合中的元素唯一

    • ZSET 有序集合。元素有分值,用于排序

    • Redis 的数据类型如此丰富,如果仅仅当作缓存来用,确实是“杀鸡焉用牛刀”。Memcache 更合适。

    0赞 · 0采集
  • Ganjr 2022-06-06

    Redis 优缺点

    • 优点:无需处理并发问题,降低系统复杂度

    • 缺点:不适合缓存大尺寸对象(超过 100KB)(为什么?)

    0赞 · 0采集
  • Ganjr 2022-06-06

    Redis 的工作模式

    • 单进程 单进程 单进程(重要的事情说三遍!!!)

    • 阻塞式

    Redis 在同一时刻只能处理一个请求,后来的请求需要排队等待!

    0赞 · 0采集
  • Ganjr 2022-06-06

    Redis 与 Memcache 对比

    • Memcache 是内存对象缓存系统,设计目标为通过缓解数据库的压力来加快 web 应用的响应速度

    • Redis 应用场景更丰富,Memcache 仅适合作为缓存使用

    0赞 · 0采集
  • Ganjr 2022-06-06

    Redis 是什么

    • 缓存

    • 数据库

    • 消息代理

    0赞 · 0采集
  • Ganjr 2022-06-06

    课程介绍

    • 认识 Redis 的本质:设计目标,应用场景

    • 理解 Redis 的工作模式

    • 认识 Redis 计数器

    • 如何用 Redis 计数器实现并发场景下的数量控制

    0赞 · 0采集
  • Apparition 2022-04-22

    并发场景下数量控制

    0赞 · 0采集
  • UFO2015 2020-09-17

    v1

    function v1() {

     $amountLimit = 100;

      // ...

    }

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    PHP function

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    Linux Redis PHP Nginx

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    setnx = set not exists

    先计算,后判断


    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    并发请求,导致数据不一致问题

    set 可能会出现覆盖

    先判断,后计算,计算错误


    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    流程图 抽奖


    微信抢红包,金额随机分配逻辑

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    数量控制

    商品抢购

    抽奖

    抢红包

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    超时时间 30s

    ```sh

    127.0.0.1:6379> expire test2 30

    (integer) 1

    127.0.0.1:6379> ttl test2

    (integer) 23

    127.0.0.1:6379> ttl test2

    (integer) 21

    127.0.0.1:6379> ttl test2

    (integer) 17

    127.0.0.1:6379> ttl test2

    (integer) 14

    127.0.0.1:6379> ttl test2

    (integer) 12

    127.0.0.1:6379> ttl test2

    (integer) 8

    127.0.0.1:6379> ttl test2

    (integer) 6

    127.0.0.1:6379> ttl test2

    (integer) 3

    127.0.0.1:6379> ttl test2

    (integer) -2

    127.0.0.1:6379> ttl test2

    (integer) -2

    127.0.0.1:6379> exists test2

    (integer) 0

    127.0.0.1:6379> 


    ```

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    setnx 判断是否存在,不存在才会set,防止错误的覆盖


    ```sh

    127.0.0.1:6379> get test

    "6"

    127.0.0.1:6379> setnx test 2020

    (integer) 0

    127.0.0.1:6379> setnx test2 2020

    (integer) 1

    127.0.0.1:6379> get test

    "6"

    127.0.0.1:6379> get test2

    "2020"

    127.0.0.1:6379> 

    127.0.0.1:6379> set test2 77

    OK

    127.0.0.1:6379> get test2

    "77"

    ```

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    ```sh

    ➜  ~ redis-cli

    127.0.0.1:6379> exists test

    (integer) 0

    127.0.0.1:6379> set test 3

    OK

    127.0.0.1:6379> get test

    "3"

    127.0.0.1:6379> incr test

    (integer) 4

    127.0.0.1:6379> get test

    "4"

    (integer) 3

    127.0.0.1:6379> incrby test 3

    (integer) 7

    127.0.0.1:6379> get test

    "7"

    127.0.0.1:6379> incrby test -1

    (integer) 6

    127.0.0.1:6379> get test

    "6"

    127.0.0.1:6379> 

    ```

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    redis 应用场景 

    频率限制, 计数器 key ip value time

    数量控制 

    数量统计

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    Memcache

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    redis 数据类型 string hash list set  zset 有序集合

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    Redis big key

    对象大小 小于100KB 
    list 元素个数小于 10 万个

    为什么redis 不适合存储大key对象

    截图
    0赞 · 0采集
  • UFO2015 2020-09-17

    缓存 数据库 消息队列

    截图
    0赞 · 0采集
数据加载中...
开始学习 免费