Redis有哪些常见的使用场景?Linux运维培训
老男孩IT教育
行业新闻
2021年9月18日 17:42
Redis是一个可以开源使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API,使用范围也是很广泛的,被广大开发者所使用,那它究竟有哪些应用场景呢?请看下文:
Redis是一个可以开源使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API,使用范围也是很广泛的,被广大开发者所使用,那它究竟有哪些应用场景呢?请看下文:
缓存:
string类型,可以做热点数据缓存(如报表),对象缓存、全页缓存、可以提升热点数据的访问数据;
数据共享分布式:
string类型,因为Redis是分布式的独立服务,可以在多个应用之间共享,例如分布式Session;
分布式锁:
string类型setnx方法,只有不存在时才能添加成功,返回true;
全局ID:
int类型,incrby,利用原子性,incrby userid 1000,分库分表的场景,一次性拿一段;
计数器:
int类型,incr方法,例如文章的阅读量、微博点赞数、允许一定的延迟,先写入Reids,再定时同步到数据库;
限流:
int类型,incr方法,以访问者的ip和其他信息作为key,访问一次增加一次计数,超过次数则返回false;
位统计:
string类型的bitcount(1.6.6的bitmap数据结构介绍),字符是以8位二进制存储的,例如:在线用户统计,留存用户统计,支持按位与、按位或等等操作;
购物车:
String或hash。所有String可以做的hash都可以做;
消息队列:
List提供了两个阻塞的弹出操作:blpop/brpop,可以设置超时时间,队列:先进先除:rpush blpop,左头右尾,右边进入队列,左边出队列,栈:先进后出:rpush、brpop;
抽奖:
自带一个随机获得值;
老男孩教育10余年时间,培养了众多Linux运维工程师,有的学员现在已经是主管岗、总监岗,全企业真实案例结合理论授课,帮助学员从0基础学习掌握Linux运维工程师所需技能,以达到企业用人标准。
推荐阅读:
