Redis
文章平均质量分 94
Redis学习与实战。The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.
共饮一杯无
CSDN内容合伙人,杭州开发者社区主理人,Java领域优质创作者,2022年度博客之星TOP15,CSDN博客专家,51CTO 专家博主,华为云享专家,阿里云专家博主,InfoQ专家博主,持续输出干货,欢迎关注。
鲜衣怒马意气风发,愿你归来仍是少年。
展开
-
SpringBoot整合Redis(文末送书)
Redis 是目前业界使用最广泛的内存数据存储。相比 Mmcached,Redis 支持更丰富的数据结构,例如:字符串类型 string,哈希类型 hash,列表类型 list,集合类型 set,有序集合类型 sortedset等,同时支持数据持久化。除此之外,Redis 还提供一些类数据库的特性,比如事务,HA,主从库。原创 2024-05-08 10:03:48 · 4262 阅读 · 20 评论 -
Redis 实现用户积分和积分排行榜微服务优化
不同的是Sorted Sets中的每个成员都分配了一个分数值(score),它用于在Sorted Sets中进行成员排序,从最小值到最大值。Sorted Sets中所有的成员都是唯一的,其分数(score)是可以重复的,即是说一个分数可能会对应多个值。,m是添加或查询的成员数量。访问Sorted Sets中间的元素也是非常快的,因此可以用sort sets作为一个不重复的小型有序列表。通过Sorted Sets可以快速操作任何你想做的事情:排序成员,判断成员是否在集合中,快速访问集合中间的成员。原创 2023-01-16 10:18:14 · 5240 阅读 · 90 评论 -
Redis 中的 BitMaps(位图)命令详解
比如说,每当用户在某一天上线的时候,我们就使用 SETBIT ,以用户名作为 key ,将那天所代表的网站的上线日作为 offset 参数,并将这个 offset 上的为设置为 1。假设现在我们希望记录自己网站上的用户的上线频率,比如说,计算用户 A 上线了多少天,用户 B 上线了多少天,诸如此类,以此作为数据,从而决定让哪些用户参加 beta 测试等活动——这个模式可以使用SETBIT和BITCOUNT来实现。Bitmaps本身不是一种数据类型, 实际上它就是字符串,但是它可以对字符串的位进行操作。原创 2022-12-24 21:54:14 · 4849 阅读 · 48 评论 -
CSDN是怎么实现用户签到,统计签到次数,连续签到天数等功能微服务的
它是由一组bit位组成的,每个bit位对应0和1两个状态,虽然内部还是采用String类型存储,但Redis提供了一些指令用于直接操作位图,可以把它看作是一个bit数组,数组的下标就是偏移量。位图的每一位代表一天的签到,1表示已签,0表示未签。如果这样存数据的话,对于用户量比较大的应用,数据库可能就扛不住,比如1000W用户,一天一条,那么一个月就是3亿数据,这是非常庞大的,因此使用。可以看到当前登陆用户在2,4,6,8,17,19,20,21,22号9天都进行了签到,当月总签到天数为9天,连续签到4天。原创 2022-12-22 11:16:03 · 14020 阅读 · 42 评论 -
Redis实现朋友圈,微博等Feed流功能,实现Feed流微服务(代码实现)
Redis实现朋友圈,微博等Feed流功能,实现Feed流微服务(代码实现)原创 2022-12-17 19:18:32 · 9822 阅读 · 51 评论 -
Redis实现朋友圈,微博等Feed流功能,实现Feed流微服务(业务场景、实现思路和环境搭建)
在互联网领域,尤其现在的移动互联网时代,Feed流产品是非常常见的,比如我们每天都会用到的朋友圈,微博,就是一种非常典型的Feed流产品,还有图片分享网站Pinterest,花瓣网等又是另一种形式的Feed流产品。除此之外,很多App的都会有一个模块,要么叫动态,要么叫消息广场,这些也是Feed流产品,可以说,Feed流产品是遍布天下所有的App中。解决Feed流最核心的两个问题:一个是存储,另一个是推送。原创 2022-12-15 10:19:58 · 5781 阅读 · 57 评论 -
Redis实现微博好友功能微服务(关注,取关,共同关注)
好友功能是目前社交场景的必备功能之一,一般好友相关的功能包含有:关注/取关、我(他)的关注、我(他)的粉丝、共同关注、我关注的人也关注他等这样一些功能。类似于这样的功能我们如果采用数据库做的话只是单纯得到用户的一些粉丝或者关注列表的话是很简单也很容易实现, 但是如果我想要查出两个甚至多个用户共同关注了哪些人或者想要查询两个或者多个用户的共同粉丝的话就会很麻烦, 效率也不会很高。但是如果你用redis去做的话就会相当的简单而且效率很高。原因是redis自己本身带有专门针对于这种集合的交集、并集、差集的一些原创 2022-12-06 18:38:04 · 8635 阅读 · 88 评论 -
Redis解决秒杀微服务抢购代金券超卖和同一个用户多次抢购
上图就是redission官方网站首页。首页可以看出来,Redisson可以实现很多东西,在Redis的基础上,Redisson做了超多的封装,我们看一下,例如说Spring Cache,TomcatSession,Spring Session,可排序的Set,还有呢Sortedsort,下面还有各种队列,包括这种双端。原创 2022-12-01 07:30:00 · 6445 阅读 · 87 评论 -
秒杀微服务实现抢购代金券功能
现在日常购物或者餐饮消费,商家经常会有推出代金券功能,有些时候代金券的数量不多是需要抢购的,那么怎么设计可以保证代金券的消耗量和秒杀到的用户保持一致呢?怎么设计可以保证一个用户只能秒杀到一张代金券呢?秒杀场景有以下几个特点:秒杀场景的应对,一般要从以下几个方面进行处理,如下:本文以抢购代金券为例,来进行数据库表的设计。抢购活动表订单表创建秒杀服务pom依赖引入相关依赖如下:配置文件关系型数据库实现代金券秒杀相关实体引入抢购代金券活动信息全局异常处理添加代金券秒杀活动代金券活原创 2022-11-27 11:31:51 · 8847 阅读 · 107 评论 -
Docker安装Redis并配置启动
Docker安装Redis并配置启动原创 2022-05-19 17:48:03 · 7835 阅读 · 3 评论 -
SpringCloud整合spring security+ oauth2+Redis实现认证授权
在微服务构建中,我们一般用一个父工程来通知管理依赖的各种版本号信息。父工程pom文件如下:构建eureka注册中心在SpringCloud微服务体系中服务注册中心是一个必要的存在,通过注册中心提供服务的注册和发现。具体细节可以查看我之前的博客,这里不再赘述。我们开始构建一个eureka注册中心,对应的yml配置文件如下:对应的项目启动类代码如下:至此,一个单体的服务注册中心搭建完成。上文我们已经完成了注册中心的搭建,接下来我们开始搭建认证授权中心。我们同样在父工程下面新建一个子工程,作为认证授权中心原创 2022-10-15 21:15:50 · 22396 阅读 · 91 评论 -
Redis配置文件redis.conf详解
redis swap文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享,vm-page-size是根据存储的数据大小来设定的,作者建议如果储存很多小对象,page大小最好设置为32或者64bytes;将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(redis的索引数据就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。原创 2022-09-19 09:54:11 · 2973 阅读 · 15 评论 -
Linux Centos 安装最新Redis6.2.4版本
上述redis安装启动后,我们发现本地客户端无法访问到服务器的Redis,通过配置redis.conf文件,把bind参数设置成 0.0.0.0,允许所有IP连接,测试使用,生产不要这么配置,风险较大⚠️。:Redis服务器自动生成的,内存快照,持久化机制叫做SNAPSHOT,服务器宕机,重新启动redis服务器程序时redis会自动加载 dump.rdb,将数据库状态恢复到上一次做SNAPSHOT时的状态。可以看到Redis对应的版本号,启动的模式是单体,默认端口号为6379。原创 2022-09-16 15:23:33 · 2378 阅读 · 47 评论 -
Redis相关知识汇总(下载安装、Redis常见数据类型、持久化、命令和客户端操作)
一文入门Redis(下载安装、Redis常见数据类型、持久化、命令和客户端操作)原创 2022-05-10 06:30:00 · 31668 阅读 · 1 评论 -
Linux下载安装redis和zookeeper
下载安装redis和zookeeper原创 2020-03-16 16:57:39 · 17354 阅读 · 0 评论