redis哨兵
哨兵作用哨兵(sentinel) 是一个分布式系统,是程序高可用性的一个保障。用于监视任意多个主服务器,以及这些主服务器属下的所有从服务器,当出现故障时通过投票机制选择新的master并将所有slave连接到新的master。监控不断地检查master和slave是否正常运行 master存活检测、master与slave运行情况检测。...
2024-01-10初始redis
官方定义:Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。详细说明:redis是一个key-value存储系统...
2024-01-10redis随笔
redis redis的安装一 安装的准备 首先得买一个服务器(我买的阿里云ecs轻量级); 再下载远程客户端(我用的Xshell,Xftp); 打开Xftp将下载好得redis压缩包传输Xftp中,在进入Xshell中Linux命令安装; rides安装 下载地址:https...
2024-01-10Redis
NoSql (Not Only Sql) 非关系型数据库 行式存储数据库 一般的关系型数据库Mysql,Oracle,SqlServer等 列式存储数据库 Cassandra 文档型数据库 MongoDB key-value型数据库:Memcached 早期的NoSql数据库 数据在内存中,不能持久化 支持简单的key-value模式 一般作为缓存数据库 Redis ...
2024-01-10redis系列之
什么是主从复制Redis的主从复制机制是指可以让从服务器(slave)能精确复制主服务器(master)的数据,如下图所示: 或者 主从复制的方式和工作原理工作方式:Redis主从复制主要有两种模式:完整重同步(full resynchronization)和部分重同步(partial resynchronization)其中完整重同...
2024-01-10redis基础学习
redisRedis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件yum安装redis1.yum安装#前提得配置好阿里云yum源,epel源#查看是否有redis包yum list redis#安装redisyum install redis -y#安装好,启动redissystemctl start redis2.检测redis是否工作redis-cli #redis 客户端工具#进入...
2024-01-10redis笔记04
Redis 数据备份与恢复Redis SAVE 命令用于创建当前数据库的备份。语法redis Save 命令基本语法如下:redis 127.0.0.1:6379> SAVE 实例redis 127.0.0.1:6379> SAVE OK该命令将在 redis 安装目录中创建dump.rdb文件。恢复数据如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis ...
2024-01-10redis深入学习
Redis持久化官方文档:https://redis.io/topics/persistence1.RDB和AOF优缺点RDB: 可以在指定的时间间隔内生成数据集的时间点快照,把当前内存里的状态快照到磁盘上优点: 压缩格式/恢复速度快,适用于备份,主从复制也是基于rdb持久化功能实现缺点: 可能会丢失数据AOF: 类似于mysql的binlog,重写,、每次操作都写一...
2024-01-10redis笔记01
起步redis简介redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库.redis与其他key-value缓存产品有一下三个特点:redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储....
2024-01-10redis 特殊功能
一、慢查询生命周期两点说明:(1)、慢查询发生在第三阶段(2)、客户端超时不一定慢查询,但慢查询是客户端超时的一个因素。两个配置(1)、slowlog-max-len 先进先出的队列、固定长度、保存在内存内(2)、slowlog-log-slower-than满查询阀值(单位:微妙)、slowlog-log-slower-than=0记录所有命令、...
2024-01-10redis的发布订阅
简介进程间的消息通信模式: 发送者(pub)发送消息,订阅者(sub)接收消息示例,订阅多个127.0.0.1:8686[1]> SUBSCRIBE c1 c2 c3Reading messages... (press Ctrl-C to quit)1) "subscribe"2) "c1"3) (integer) 11) "subscribe"2) "c2"3) (integer) 21) "subscribe"2) "c3"3) (integer) 3 # 另外一个客户端通过c1频道发送消息 ...
2024-01-10redis微应用镜像
suma redis 微应用镜像是基于 redis 5.0 源代码进行二次开发的一个redis 微容器集群镜像。在原有reids 命令的基础上增加了suma apollo微容器相关的命令sumavlib.suma_ci_tasksumavlib.suma_keep_alivesumavlib.suma_try_leadersumavlib.suma_vip_listsumavlib.suma_vip_registersumavlib.suma_vip_server_listsumavlib.suma_vip...
2024-01-10redis原理及应用
一、redis来源二、数据类型三、主流的应用场景四、特性五、补充 一、 redis来源 redis作者:Salvatore Sanfilippo (antirez),男,意大利人. 需求:一个访客信息追踪网站,网站可以通过JavaScript脚本,将访客...
2024-01-10Redis阻塞
可能存在问题内在原因:API或数据结构使用不合理、CPU饱和、持久化阻塞等外在原因:CPU竞争、内存交换、网络问题等问题处理:API或数据结构使用不合理,可能存在慢查询或者大对象:发现慢查询 slowlog get {n} : 降低低算法度命令、拆分大对象发现大对象 --bigkeysCPU饱和,Redis并发量过多导致...
2024-01-10redis控制抢红包金额
redis控制抢红包金额红包规则:总金额是10元,每次随机0.1元-0.5元,金额发送超过5元,后面每次随机0.01元-0.02元。疑问:如果并发起来,计算金额发送超过5元会导致有部分人拿到0.5元?请问这里需要怎么控制这种并发呢?方案1:入队列进行计算(这种方案不可行 因为需及时返回金额结果)方案2:使用brpop进行阻塞 是否可行?麻烦帮忙看看方案2是否可行?如不行 是否有别的方案处理呢?回...
2024-02-09redis限流的实际应用
为什么要做限流首先让我们先看一看系统架构设计中,为什么要做“限流”。旅游景点通常都会有最大的接待量,不可能无限制的放游客进入,比如故宫每天只卖八万张票,超过八万的游客,无法买票进入,因为如果超过八万人,景点的工作人员可能就忙不过来,过于拥挤的景点也会影响游客的体验...
2024-01-10Redis异步消息
关于异步消息,大家都知道,如下: 这些用起来都是比较复杂的,RabbitMQ先要创建Exchange,在创建Queue,还要将Queue和Exchange通过某种规则绑定起来。发消息之前要指定routing-Key,还要控制头部信息。 即使你只需要一组消息者。那么你就要经历上面繁琐的过程。 但是Redis对于那些轻量级和只...
2024-01-10Redis哨兵模式
Redis提供了一种能监控多台Redis服务器,并且能完成主从切换的特殊模式----Redis哨兵模式我们能用Redis主从实现读取分流,但是如果某个时间点写入数据如果太大,给master造成太大压力造成宕机,如果没有哨兵模式的情况下我们就需要人工处监控理,这样就造成了某个时间段Redis不能提供服务,然而使用...
2024-01-10Redis跨槽错误
我试图在Redis上一次插入多个键/值(有些值是集合,有些是散列),但出现此错误:ERR CROSSSLOT Keys in request don'thash to the same slot。我不是redis-cli从某些需要将多个键/值写入Redis集群的Go代码中执行此操作。我看到代码中的其他地方以这种方式完成了多个键值,但我不明白为什么我的那个不起作用。没有...
2024-01-10[redis]SDS和链表
一、SDS1、SDS结构体redis3.2之前:不管buf的字节数有多少,都用 4字节的len来储存长度,对于只存短字符串那么优点浪费空间,比如只存 name,则len=4 则只需要一个字节8位即可表示struct sdshdr { unsigned int len; // buf中已占字节数 unsigned int free; // buf中剩余字节数 char buf[]; // 数据空间};redis3.2之后...
2024-01-10redis详解(2)API
通用命令通用命令命令说明时间复杂度keys [pattern]遍历所有 keyO(n)dbsize计算 key 的总数O(1)del key [key...]删除指定 key-valueO(1)exist key检查 key 是否存在O(1)expire key secondskey 在 seconds 秒后过期O(1)type key返回 key 的类型O(1)ttl key查看 key 剩余的过期时间O(1)persist key去掉 key 的过期时...
2024-01-10PHP操作Redis
目录基本指令获取所有的key(keys)判断键对应值的类型(type)删除缓存项(del)设置有效期(expire,expireAt)获取有效期(ttl)检测缓存项是否存在(exists)查看当前数据库key的数量(dbSize)清空当前数据库(flushDB)清空所有数据库(flushAll)字符串(string)类型设置(set)设置并指定过期时间(setex)获取(get)增加(incr, incrBy)减少(decr, dec...
2024-01-10redis连接被拒绝的解决方案
1.redis安装文件夹下 配置文件redis.conf修改 69行注释127.0.0.1 ,不然是只允许本地访问2.关闭保护模式 redis.conf修改 88行为no3.开启后台启动 redis.conf修改 136行为yes ,保存退出4.添加redis.conf修改 507行修改密码(这个选择操作,这里设置密码,连接时候需要带上密码)5.防火墙会导致连接不上,关闭防火墙,正式服...
2024-01-10Redis知识点(二)
首先 Redis 内部使用一个 redisObject 对象来表示所有的 key 和 value。redisObject 最主要的信息如上图所示:type 表示一个 value 对象具体是何种数据类型,encoding 是不同数据类型在 Redis 内部的存储方式。比如:type=string 表示 value 存储的是一个普通字符串,那么 encoding 可以是 raw 或者 int。①String 是 Redis 最基...
2024-01-10redis 手机验证码实现示例
本文主要介绍了redis 手机验证码实现示例,分享给大家,具体如下:/** * @author gh Email:@2495140780qq.com * @Description * @date 2021-11-10-21:12 */public class PhoneCode { public static void main(String[] args) { //模拟验证码发送// verifyCode("13796734562"); //效验 ...
2024-01-10