
Redis
文章平均质量分 82
dylan_2017
这个作者很懒,什么都没留下…
展开
-
springBoot 整合Redis
springBoot 连接 redis单机、redis集群原创 2024-03-31 20:29:35 · 867 阅读 · 0 评论 -
Redis 集群(cluster)
由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Redis集群,其作用是提供在多个Redis节点间共享数据的程序集。Redis集群是一个 提供在多个Redis节点间共享数据的程序集。可以支持多个Master。如果set k1 v1 到M1,那么 M2 和 M3 都会存在v1,即S1 S2 S3 也会存在v1。原创 2024-03-08 16:08:47 · 1322 阅读 · 1 评论 -
Redis 哨兵(sentinel)
我们知道,网络是不可靠的,有时候一个sentinel会因为网络堵塞而误以为一个master redis 已经死掉了,在sentinel集群环境下需要多个sentinel互相沟通来确认某个master 是否真的死了,quorum 这个参数是进行客观下线的一个依据,意思是至少有quorum个sentinel认为这个master有故障,才会对这个master进行下线以及故障转移。在配置时需要注意 之前的master没有配置masterauth(redis6379.conf),做哨兵的时候必须要配置此项。原创 2024-02-20 20:38:35 · 793 阅读 · 0 评论 -
Redis主从复制
上一个slave可以是下一个slave的master,slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中的一个master,可以有效减轻主master的写压力。redis.conf文件。在运行期间修改slave节点的信息,如果该数据库已经是某个数据库的从数据库,那么会停止和元数据的同步关系,转而和新的数据库同步,重新签订主从关系。如果master配置里密码,那么slave就要配置masterauth来设置校验密码,否则的话master就会拒绝slave的访问请求。原创 2024-02-08 19:12:54 · 724 阅读 · 0 评论 -
Redis 管道(pipelining)
如果同时需要执行大量的命令,那么就要等上一条命令应答后再执行,这中间不仅仅多了RTT(Round Time Trip),而且还频繁调用系统I/O,发送网络请求,同时需要redis调用多次read()和writ()系统方法,系统 方法会将数据从用户态转移到内核态,这样就会对进程上下文有比较大的影响,性能不太好。既然有了mset和mget那为什么还要用管道?1.客户端向服务端发送命令分四步(发送命令->命令排队->命令执行->返回结果),并监听Socket返回,通常以阻塞模式等待服务端响应。原创 2024-02-02 19:40:36 · 380 阅读 · 0 评论 -
Redis 事务
可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序的串行执行而不会被其他命令插入,不许加塞。将多个命令入队到事务中,接到这些命令并不会立即执行,而是放到等待执行的事务队列里面。事务中一串命令,有一个出错(可以理解为javaRunTimeEx),则其他命令还会继续执行。能干什么:一个队列中,一次性、顺序性、排他性的执行一系列命令。由EXEC命令触发事务。,开发者必须在事务执行出错后,自行恢复数据库状态。事务中一串命令,有一个命令出错,则全体失败。,要么一起成功,要么一起失败!原创 2024-02-02 16:18:00 · 320 阅读 · 0 评论 -
Redis 持久化
HISTORY:表示历史AOF,它由BASE和INCR AOF 变化而来,每次aofrw成功完成 时, 本次aofrw之前对应的base和incr aof都将变成history,history类型的aof会被redis自动删除。以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以修改文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。(手动触发命令的效果也一样)原创 2024-02-01 20:52:42 · 691 阅读 · 0 评论 -
Redis 10大数据类型(入门篇)
而redis stream提供了消息的持久化和主备赋值功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,环能保证消息不丢失。通过bitfield命令可以一次性操作多个比特位(连续的多个比特位),它会执行一些列操作并返回一个响应数组,这个数组中的元素对应参数列表中的相应操作的执行结果。是用来做基数(不重复的数据)统计的算法,HyperLogLog的有点是,在输入元素的数量或者体积非常大时,计算基数所需的空间总是固定且是很小的。这里所说的类型都是value,key的类型都是字符串。原创 2024-01-31 17:44:24 · 786 阅读 · 0 评论 -
Redis7 安装
Redis的默认端口号是6379,是由于手机键盘字母MERZ的位置决定的,MERZ在安特雷兹的朋友圈语言中是“愚蠢和傻B”的代名词,它源于意大利广告女郎Alessia Merz在电视节目上说了一堆愚蠢的话,redis之父安特雷兹对她有“独特”印象,就给它弄成端口号了。redis-cli -a xxxxx shutdown 或者 redis-cli -a xxxxx shutdown -p 6379 shutdown。8.链接服务 -a后面是redis的密码,如果没有参数-p 默认启动的是6379。原创 2024-01-29 16:07:18 · 537 阅读 · 0 评论 -
Redis7
是完全开源的,使用ANSIC语言编写遵守DSB协议,是一个高性能Key-Value数据库提供了丰富的数据结构,例如String、Hash、 LIst、Set等等。数据是在内存中,同时支持事务、持久化、LUA脚本、发布/订阅、主从模式、哨兵模式、集群架构方案。当前奇数版本就是下一个稳定版本的开发版,如2.9版本是3.0版本的开发版本。版本号第二位如果是奇数,则为非稳定版本,如 2.7 2.9 3.1。版本号第二位如果是偶数,则为稳定版本,如 2.6 2.8 3.0。Redis之父 安特雷兹。原创 2024-01-29 14:58:35 · 338 阅读 · 0 评论