Redis常见的应用场景

redis作为一个键值对的数据库,其常用的数据类型有5种:字符串类型(String),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset)

应用场景
分布式锁(String)

分布式锁的实现主要有3中方案:zoomkeeper的zk锁、数据库锁以及redis锁。
redis锁采用setnex命令实现。setnex key value:当key不存在时,将key的值设置为value并返回1,如果key已经存在,则不做操作并返回0。获取到返回值1表示拿到了对应key的锁,0则表示获取锁失败。操作完之后需要key删除,表示释放锁

计数器(String)

redis计数器有很多使用场景,如博客的浏览次数等。有些电商网站常常会放出一些顾客限购数量的产品。但有些人会注册多个账号来购买,这时可以使用redis中的set key 1、incr key、get key解决。其中key为用户登入的设备号(手机、pad等设备都有唯一的设备号,这是厂商设定的),第一次购买时次数为1,同一设备购买时次数加1.

分布式全局唯一id

分布式全局唯一id的实现有很多种,像雪花算法、Oracle的自增序列等。redis的分布式全局唯一id通过命令:set custId 1(设置初始值为1)、incr custId(返回2)、incrby custId 100(返回102)

抽奖、点赞热门商品等等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值