Redis学习笔记系列
redis学习笔记系列
shiang_yan
这个作者很懒,什么都没留下…
展开
-
Redis学习笔记(十一):企业级解决方案-缓存预热、缓存雪崩、缓存击穿、缓存穿透、性能指标监控
持续更新中…原创 2020-06-21 00:16:19 · 385 阅读 · 0 评论 -
Redis学习笔记(十):Redis集群-结构设计、集群搭建、集群操作、主从下线、主从切换
简介在业务发展过程中遇到峰值瓶颈,比如redis提供的服务可达10万/秒,但是当前业务已经达到20万/秒,或者业务需求内存容量已经超过单机内存…这个时候,就需要使用集群的方式快速解决上述问题集群作用:分散单台服务器的访问压力,实现负载均衡分散单台服务器的存储压力,实现可扩展性降低单台服务器宕机带来的业务灾难redis集群结构设计数据存储设计通过算法设计,计算出key应该保存的位置,官方叫法:槽将所有的存储空间计划切割成16384份,每台主机保存一部分,每份代表的是一个存储空间,原创 2020-06-19 16:36:10 · 423 阅读 · 0 评论 -
Redis学习笔记(九):哨兵模式-监控、通知、故障转移
简介哨兵(sentinel)是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时,通过投票机制选择新的master并将所有slave连接到新的master哨兵的作用:监控:不断地检查master和slave是否正常运行,master存活检测、master与slave运行情况检测通知(提醒):当被监控的服务器出现问题时,向其它(哨兵间、客户端)发送通知自动故障转移:断开master与slave连接,选取一个slave作为master,将其它slave连接到新的master,并告知原创 2020-06-18 19:27:29 · 1227 阅读 · 0 评论 -
Redis学习笔记(八):redis主从复制-建立连接、数据同步、命令传播、复制缓冲区、复制偏移量、心跳机制
简介 互联网的”三高“架构:高并发、高性能、高可用。而redis本身是单线程单机的(redis-6.0以后支持多线程),单机具有不稳定,不可靠的特点,极具风险,如果出现机器故障、容量达到瓶颈等等时,都可能会导致数据丢失,甚至对业务造成灾难性打击。为了避免单机redis服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的。即使其中有一台服务器宕机,其它服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据的冗余备份。多台服务器连接方案原创 2020-06-17 19:27:03 · 1078 阅读 · 2 评论 -
Redis学习笔记(七):redis高级数据类型及应用场景-Bitmaps、HyperLogLog、GEO
Bitmaps简介Redis提供的Bitmaps可以实现对位的操作。Bitmaps本身不是一种数据结构,实际上就是字符串,但是它可以对字符串的位进行操作。可以把Bitmaps想象成一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在bitmaps中叫做偏移量。单个bitmaps的最大长度是512MB,即2^32个比特位。基础操作获取指定key对应偏移量上的bit值 ,如果该位没有数据,则会返回0 getbit key offset设置指定key对应偏移量上的bit值,valu原创 2020-06-16 10:57:19 · 340 阅读 · 0 评论 -
Redis学习笔记(六):删除策略、逐出算法
Redis中的数据特征Redis是一种内存级数据库,所有数据均放在内存中,内存中的数据可以通过ttl指令获取其状态XX:具有时效性的数据-1:永久有效的数据-2:已经过期或被删除或未定义的数据数据的删除策略定时删除惰性删除定期删除删除策略的目标:在内存占用与CPU占用之间找一种平衡,顾此失彼都会造成整体redis性能下降,甚至引发服务器宕机或内存泄漏定时删除创建一个定时器,当key设置有过期时间,且国企时间到达时,由定时器任务立即执行对键的删除操作优点:节约内原创 2020-06-15 23:19:29 · 205 阅读 · 0 评论 -
Redis学习笔记(五):Redis事务-multi、exec、discard、锁、分布式锁、死锁
Redis事务简介redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰,一个队列,一次性,顺序性,排他性的执行一系列命令事务的基本操作开启事务 multi设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中执行事务 exec设定事务的结束位置,同时执行事务。与multi成对出现,成对使用取消事务 discard终止当前事务的定义,发生在multi之后,在exec之前事务的工作流原创 2020-06-15 19:39:29 · 407 阅读 · 0 评论 -
Redis学习笔记(四):Redis持久化
持久化简介由于Redis是内存数据库,如果万一电脑断电或系统奔溃时,redis的数据丢失,这是很严重的问题,那么就需要对Redis进行持久化操作(持久化:利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制),可以防止数据的意外丢失,保证数据安全。持久化过程的两种保存方式将当前数据状态进行保存,快照的形式,存储数据结果,存储格式简单,关注点在数据将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程RDB...原创 2020-06-15 16:35:07 · 258 阅读 · 0 评论 -
Redis学习笔记(三):Java连接Redis(Jedis)以及示例代码
Jedis简介Jedis是java连接redis服务的途径,但并不是java连接redis的唯一途径,Java连接redis服务有以下途径:JedisSpringData RedisLettuceHelloWorldjar包导入下载地址:https://mvnrepository.com/artifact/redis.clients/jedisMaven<dependency> <groupId>redis.clients</groupId&原创 2020-06-14 23:48:55 · 317 阅读 · 0 评论 -
Redis学习笔记(二):数据类型和通用操作命令
redis支持的数据类型stringhasdlistsetsorted_setredis自身是一个Map,其中的数据采用的都是key-value的形式存储,所有的key只有一种数据类型:string ,而上面所指的redis支持的数据类型,实际是value的数据类型string存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型存储数据的格式:一个存储空间保存一个数据存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用,但其本质还是字符串原创 2020-05-31 23:32:33 · 329 阅读 · 0 评论 -
Redis学习笔记(一):下载与安装-Windows、Linux
Windows版下载地址:https://github.com/MicrosoftArchive/redis/releases将下载好的压缩包解压,由于Windows版本的redis是绿色版,无需安装,可以直接使用打开解压后的文件Redis-x64-3.2.100需要关注** *.conf**为redis的配置文件, redis-cli.exe为redis的客户端, redis-server.exe为redis的服务端启动Redis服务双击redis-server.exe此时Redi原创 2020-05-27 11:11:04 · 252 阅读 · 0 评论