Redis 常用使用场景

Redis 值的原子性可以很简单的满足很多业务场景

他有八种数据类型,常用的五种

string 基本命令 GET、SET 

散列hash 基本命令  hset hget 单个; hmset hmget多个;hgetall;hdel

list 基本命令 LPUSH LPOP  lrange  lrem返回删除的个数

set 基本命令  sadd  spop sinter sdiff sunion srem返回删除个数

Sorted set

 

1. 字符串键:做分布式锁

//设置锁字符串键,若锁已经存在那么设置失败,也就是获取锁失败,等待

SETNX("SUO",1)==1//成功获取锁

SETNX("SUO",1)==0//被占用,资源获取锁失败

业务处理完毕释放分布式锁

DEL("SUO");

//设置锁失效时间,防止宕机,系统运行意外导致锁无法释放

PEXPIRE("SUO",10000)

上面的几步尽量放到一个事务中。  MULTI  命令

2. 字符串,帖子等阅读计数器

             set readcount::10001 1

每读一次要进行  incr readcount:10001   只增加一

可以使用incrby 一次性获取一段数据。可以用作序列号、表主键的生成,这样一次获取一段数据

可以减轻Redis服务器的压力

 

3. 和string对比来讲,hash方法基本一致,hash键的存在主要意义在于减少内存占用 ,他对field层是不去管理的。

但是对于有关有效期的设置上,另外如果要考虑数据分布的时候,hash不适用。

 

4.list

LPUSH    LRANGE  
BRPOP 右侧阻塞弹出数据,如果没数据则等待,time时间,如果0 则一直等待,基于该特性可以实现消息队列;

基于列表可以实现消息列表。 a关注了, AAA, BBB,CCC

step1,aaa发微博,消息ID 为1111

LPUSH {a-ID} 1111

step2,bbb发微博,消息ID 为2222

LPUSH {a-ID} 2222

step3,取最新的10个信息

LRANGE {a-ID} 0 1*10

 

5. set   

sadd 直播平台刷花抽奖的业务场景;  点赞的功能;   

  交集并集合差集计算,可以实现关注模型(可能认识的人):

  交集:共同关注的人      差集:可能认识的人

商品标签的功能;   支付信息对账功能;

6. zset    ZCARD key 获取有序集合的成员数

可以实现排行榜的功能

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值