Redis一般是干什么用的?在什么场合下使用?大体上介绍一下

Redis一般是干什么用的?在什么场合下使用?大体上介绍一下?

2个回答

是一个单线程的 NoSQL 数据库,主要用来做数据缓存的,一般大型网站的应用和数据库之间的那一层就是 Redis 。
比如说,京东商城的页面查找功能,用户接触到的查询的第一层就是 Redis 数据缓存层,缓存中找不到的数据,再进入数据库查询。
好处:Redis 中缓存热点数据,能够保护数据库,提高查询效率。

redis是一个key-value存储系统,可以用在如下场景,1,2,5用得较多
1、缓存
热点数据(经常会被查询,但是不经常被修改或者删除的数据),首选是使用redis缓存。

2、计数器
单线程避免并发问题,高性能,如减库存。

3、队列
相当于消息系统,ActiveMQ,RocketMQ等工具类似,但是个人觉得简单用一下还行,如果对于数据一致性要求高的话还是用RocketMQ等专业系统。

4、位操作
使用setbit、getbit、bitcount命令,如统计用户签到,去重登录次数统计,某用户是否在线状态等;

redis内构建一个足够长的数组,每个数组元素只能是0和1两个值,然后这个数组的下标index用来表示我们上面例子里面的用户id(必须是数字哈),那么很显然,这个几亿长的大数组就能通过下标和元素值(0和1)来构建一个记忆系统,上面我说的几个场景也就能够实现。用到的命令是:setbit、getbit、bitcount

5、分布式锁与单线程
验证前端的重复请求(可以自由扩展类似情况),可以通过redis进行过滤:每次请求将request Ip、参数、接口等hash作为key存储redis(幂等性请求),设置多长时间有效期,然后下次请求过来的时候先在redis中检索有没有这个key,进而验证是不是一定时间内过来的重复提交。

秒杀系统,基于redis是单线程特征,防止出现数据库“爆破”

6、最新列表
redis的 LPUSH命令构建List。

7、排行榜
谁得分高谁排名往上。命令:ZADD(有序集,sorted set)。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!