redis
文章平均质量分 86
孔汤姆
为什么不问问神奇的我呢
展开
-
SpringBoot学习笔记(三)自动装配
执行时机:在注解中其他逻辑被处理完毕之后(包括对)再执行DeferredImportSelector执行时机比ImprotSelector更晚中其AutoconfigurationImprotSelector 配合SpringFactoriseLoader可加载“”中配置@EnableAutoconfiguration对应的自动配置类deferredImportSelector的执行时机比ImprotSelector更晚。原创 2022-08-23 22:58:17 · 447 阅读 · 0 评论 -
Kafka 核心技术与实战学习笔记(二十)Kafka Java Consumer设计原理
KafkaConsumer是双线程设计,用户主线程和心跳线程 用户主线程:启动Consumer应用程序main方法那个线程 新引入的心跳线程(Heart Thread) 只负责定期给对应的Broker机器发送心跳请求,以标识消费者应用的存活性(liveness) 引入心跳线程的目的: 期望与心跳频率与主线程调用KafkaConsumer.poll方法的频率分开,从而解耦真实的消息处理逻辑与消费者组成存活性管理 总结: 虽然有心跳线程,但是实际...原创 2022-04-06 22:29:26 · 1110 阅读 · 0 评论 -
Redis核心技术与实战-学习笔记(三十五)Redis使用建议
键值对使用规范key的命令规范,只有命名规范,才能提供可读性强,可维护性好的key,方便日常管理; value的设计规范,包括避免bigkey,选择高效序列化方法和压缩方法,使用整数对象共享池,数据类型选择。规范一:key的命令规范冒号命名:将业务名作为前缀,用冒号分隔,加上具体的业务数据名 当key字符串的长度增加时,SDS中的元数据会占据更多的内存空间 我们设置key名称时,注意控制key长度,对于 业务名可以使用英文单词的首字母规范二:避免bigkeyRedis使用单线程读...原创 2022-03-25 19:02:10 · 2816 阅读 · 0 评论 -
Redis核心技术与实战-学习笔记(三十四)Redis支撑秒杀场景的关键技术和实践
一.秒杀场景的负载特征对支撑系统的要求秒杀活动售卖的商品通常非常优惠,会吸引大量用户进行抢购。 商家库存量远小于购买商品的用户数,会限定用户只能在一定时间段内购买,秒杀系统带来明显的负载特性,对支持系统提出要求。二.瞬时并发访问量非常高一般数据库每秒只能支持千级别的并发请求,而Redis的并发处理能力(每秒处理请求数据达到十万级) 大量并发请求涌入秒杀系统,我们需要使用Redis拦截大部分请求,避免大量请求发送至数据库,把数据库压垮。三.读多写少,而且读操作是简单的查询操作秒杀场景:..原创 2022-03-24 22:23:35 · 450 阅读 · 0 评论 -
Redis核心技术与实战-学习笔记(三十一):事务机制:Redis能实现ACID
Redis 如何实现事务?事务的执行过程包含三个步骤:Redis提供了MULTI,EXEC两个命令来完成这三个步骤:客户端要使用一个命令显式的表示一个事务的开启。Redis使用MULTI。 客户端把事务中本身要执行的具体操作(增删改查)发送给服务器端,这些操作时Redis本身提供的数据读写命令,Redis会把这些,命令暂存在一个命令队列中,不会立即执行。 客户端向服务器端发送提交事务的命令,让数据库实际执行第二步中发送的具体操作。 Redis的EXEC命令,就是执行事务...原创 2022-03-22 21:19:09 · 951 阅读 · 0 评论 -
Redis核心技术与实战-学习笔记(三十):Redis实现分布式锁
一.单机锁和分布式锁的联系和区别单机上的锁和分布式锁的联系与区别原创 2022-03-21 22:32:05 · 1144 阅读 · 0 评论 -
Redis核心技术与实战-学习笔记(二十九):Redis并发控制
一.需要并发控制的原因Redis不可避免的会遇到并发访问问题,比如多用户同时下单,就会对缓存在Redis中的商品库存并发更新,一旦有了并发操作,数据就会被修改,如果我们没有对并发写请求做好控制,就可能导致数据被改错,影响业务正常使用(数据库存数据错误,导致下单异常)二.解决方案加锁和原子性加锁:在读取数据前,客户端需要先获得锁,否则需要等待。 当一个客户端获得锁后,就会一直持有这把锁直到客户端完成数据更新才释放这把锁。存在问题:加锁操作过多,会降低系统的并发访问性能;..原创 2022-03-20 22:52:42 · 2988 阅读 · 0 评论 -
Redis核心技术与实战-学习笔记(九):切片集群
一.切片集群切片集群,也叫分片集群,就是指启动多个Redis实例组成一个集群,然后按照一定规则,将收到的数据划分成多份,每一份用一个实例来保存。使用场景,将25GB数据保存有两种方案:切片集群,也叫分片集群,就是指启动多个 Redis 实例组成一个集群,然后按照一定的规则,把收到的数据划分成多份,每一份用一个实例来保存。回到我们刚刚的场景中,如果把 25GB 的数据平均分成 5 份(当然,也可以不做均分),使用 5 个实例来保存,每个实例只需要保存 5GB 数据。如下图所示:多实例保存数原创 2022-02-09 19:53:24 · 885 阅读 · 0 评论 -
redis 学习笔记(八) jedis的介绍和使用
一.jedis的简介 Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。 在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis。Jedis提供了完整Redis命令,而Redisson有更多分布...原创 2020-11-09 16:47:41 · 1118 阅读 · 0 评论 -
redis 学习笔记(七) 业务场景分析与相关案例
一.案例一 1.百度自研语音识别服务,免费给企业开放使用,现对用户进行限速,限制每个用户每分钟最多发起10次调用 解决方案: 1.设计计数器,调用次数用于控制业务执行次数,以及用户id为key,使用次数为value 2.调用前获取次数,判断是否超过限定次数 不超过次数的情况下,每次调用计数+1 ...原创 2020-11-08 23:24:03 · 853 阅读 · 0 评论 -
redis 学习笔记(六) sorted_set数据类型
一.sorted_set数据类型的介绍 新的存储需求:数据排序有利于数据的有效展示,需要根据一种可以根据自身特征的排序方式 sorted_set数据----支持排序 需要的存储结构:新的存储模型,可以保存可排序的数据 sorted_set类型:在set的存储结构基础上添加可排序的字段 二.sorted_set数据类型的基本操作 1.添...原创 2020-11-08 16:12:56 · 1090 阅读 · 0 评论 -
redis 学习笔记(五) set数据类型
一.set类型的介绍 新的存储需求:存储大量的数据,在查询方面提供更高的效率 需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询 set存储空间:(与hash存储机制完全相同,变形而来) set类型:与hash存储结构完全相同,仅存储键,不存储值nil,并且键的值不许重复 二.set类型数据的基本操作 1.添加数据 sadd key member1 [m...原创 2020-11-07 19:40:34 · 845 阅读 · 0 评论 -
redis 学习笔记(四)list数据类型
目录一.list类型的介绍与基本操作 二.list类型三.list类型数据基本操作 四.list类型数据扩展操作 五.list类型的业务场景使用(一) 六.list实现业务场景(二) 七. list类型常用的解决方案:一.list类型的介绍与基本操作 1.list类型 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分....原创 2020-11-05 20:38:57 · 2117 阅读 · 0 评论 -
redis 学习笔记(三) hash数据类型
一.hash数据类型 1.存储的困惑 对象类数据的存储如果具有较频繁的更新需求,如果用String类型操作会比较笨重 相比于存储json字符串hash表更容易更改2.hash类型 新的储存需求:对一系列储存数据进行编组,方便管理 典型的应用是:存储对象信息 需要的存储结构:一个存储空间保存多个键...原创 2020-11-04 21:02:48 · 645 阅读 · 2 评论 -
redis 学习笔记(二)
目录一.Redis的数据类型二.redis数据类型(5种常用的类型)三.String类型四.数值操作 ...原创 2020-11-03 22:42:36 · 271 阅读 · 0 评论 -
redis 学习笔记(一)
一.redis 简介二.redis的解决方案三.redis的安装与下载四redis 的基础操作五.redis的数据类型原创 2020-11-03 18:27:01 · 202 阅读 · 0 评论 -
redis学习分布式锁(一)setnx ,set ,setex,getset的区别
SET key value含义: 将字符串值 value 关联到 key 。 如果 key 已经持有其他值, SET 就覆写旧值,无视类型。SETEX key seconds value含义: 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。 ...原创 2020-04-15 11:21:40 · 1556 阅读 · 0 评论 -
redis入门学习(三)Linux下安装redis
1.在linux下下载redis内容wget http://download.redis.io/releases/redis-2.8.17.tar.gz2.解压redis压缩包 tar xzf redis-2.8.17.tar.gz3.打开文件cd redis-2.8.174.make运行文件5.make完后 redis-2.8...原创 2019-04-28 17:51:27 · 201 阅读 · 0 评论 -
redis入门学习(四)redis连接报错以及桌面化工具的安装Redis Desktop Manager
一、下载Redis Desktop Manager1. Redis Desktop Manager 的下载路径链接:https://pan.baidu.com/s/1tWzRzwNUU8cKntTLleD3Uw提取码:txuj二、安装Redis Desktop Manager傻瓜式安装,点击下一步即可(注意更改安装目录)三、连接Redis服务器Redi...原创 2019-04-28 19:04:06 · 513 阅读 · 0 评论 -
redis入门学习(二)redis能干啥
1.redis能干啥Redis最广泛的应用场景就是Cache缓存,毫无疑问这是Redis当今最为人熟知的使用场景,再提升服务器性能方面非常有效。1.排行榜,如果使用传统的关系型数据库来做,非常麻烦,而利用Redis的SortSet数据结构能够非常方便搞定;2.计算器/限速器,利用Redis中原子性的自增操作,我们可以统计类似用户点赞数、用户访问数等,这类...原创 2019-04-28 16:29:28 · 2922 阅读 · 0 评论