
redis
文章平均质量分 79
但行益事莫问前程
大数据研发, 开发flink实时流
展开
-
redis 19.redis在线修改配置,并同步到配置文件中
1.获取运行状态redis的配置CONFIG GET appendonly 2.在线修改redis的配置config set appendonly yes3.同步到redis配置文件中config rewrite同步成功:原创 2022-04-12 07:05:39 · 53795 阅读 · 0 评论 -
redis 17.内存优化(小的聚合类型数据的特殊编码处理、内存分配、尽可能使用散列表(hashes))
文章目录1.1 小的聚合类型数据的特殊编码处理1.2 使用32位的redis1.3 位级别和字级别的操作1.4 尽可能使用散列表(hashes)1.5 内存分配1.1 小的聚合类型数据的特殊编码处理 Redis2.2版本及以后,存储集合数据的时候会采用内存压缩技术,以使用更少的内存存储更多的数据。如Hashes,Lists,Sets和Sorted Sets,当这些集合中的所有数都小于一个给定的元素,并且集合中元素数量小于某个值时,存储的数据会被以一种非常节省内存的方式进行编码,使用这种编码理论上至少会原创 2022-04-12 00:32:06 · 20296 阅读 · 0 评论 -
redis 16 禁用重命名高危命令,ACL (对用户进行细粒度的权限控制、基于外部aclfile模式)
文章目录1.1 简介:1.2 命令1.1 简介: Redis ACL是Access Control List(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接。 在Redis 5版本之前,Redis 安全规则只有密码控制 还有通过rename 来调整高危命令比如 flushdb , KEYS * , shutdown 等。Redis 6 则提供ACL的功能对用户进行更细粒度的权限控制 :(1)接入权限:用户名和密码(2)可以执行的命令(3)可以操作的 KEY原创 2022-04-11 05:39:19 · 74177 阅读 · 0 评论 -
redis 14 分布式锁(UUID防误删、LUA脚本保证删除的原子性、锁的实现原则)
文章目录一. 分布式锁1.1 问题描述:1.2 解决方案:使用redis实现分布式锁二.代码实现2.1 加锁:2.2 优化之设置锁的过期时间2.3 优化之UUID防误删2.3.1 场景:2.3.2 解决:2.4 优化之LUA脚本保证删除的原子性2.4.1 场景: 删除操作缺乏原子性2.4.2 解决:三. 锁的实现原则一. 分布式锁1.1 问题描述: 随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制原创 2022-04-11 05:22:35 · 75014 阅读 · 0 评论 -
redis 13.缓存穿透 缓存击穿 缓存雪崩
文章目录一. 缓存穿透1.1 问题描述:1.2 解决方案:二.缓存击穿2.1 问题描述2.2 解决方案三.缓存雪崩3.1 问题描述3.2 解决方案一. 缓存穿透1.1 问题描述: key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。1.2 解决方案: 一个一定不存在缓存及查询不到的数据,由于缓存是不命中时被动写的,并且出于容错原创 2022-04-11 04:09:33 · 242 阅读 · 0 评论 -
redis ps、kill 一次性关闭集群
ps -ef |grep redis |awk '{print $2}'|xargs kill -9原创 2022-04-10 21:31:49 · 72049 阅读 · 0 评论 -
redis 12.redis集群(搭建集群、分配节点原则、slots、集群中录入值、故障恢复 )
文章目录前言1.1 集群概念1.2 搭建集群1.3 登录集群1.4 查看集群状态1.5 redis cluster 分配节点原则1.6 什么是slots1.7 在集群中录入值1.8查询集群中的值1.9 故障恢复redis集群故障排查方法前言容量不够,redis如何进行扩容?并发写操作, redis如何分摊IO压力?如何进行无中心化集群配置?1.1 集群概念 Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N原创 2022-04-10 20:07:31 · 1684 阅读 · 0 评论 -
redis 11.哨兵模式(实现步骤,主机下线从机选举主机机制)
文章目录1.1 哨兵模式概念1.2 使用步骤1.1 哨兵模式概念后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库1.2 使用步骤(1) 3个节点为一主二从模式:(2) 自定义的/myredis目录下新建sentinel.conf文件,配置哨兵,填写内容sentinel monitor mymaster 127.0.0.1 6379 1sentinel auth-pass mymaster 123456mymaster为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁原创 2022-04-10 16:43:08 · 53395 阅读 · 0 评论 -
redis 哨兵模式启动报错-failover-abort-no-good-slave master Next failover delay: I will not start a failover
问题:启用哨兵模式时报错31812:X 10 Apr 2022 16:15:58.947 # -failover-abort-no-good-slave master mymaster 127.0.0.1 637931812:X 10 Apr 2022 16:15:59.014 # Next failover delay: I will not start a failover before Sun Apr 10 16:21:59 2022原因:配置sentinel.conf时,没有设置密码解原创 2022-04-10 16:29:48 · 55551 阅读 · 0 评论 -
redis 10.主从复制(主从复制原理、一主两从、去中心化,主节点shutdown从节点上位)
文章目录1.1 主从复制概念1.2 模拟一主两从1.1 主从复制概念 主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主作用: 读写分离,性能扩展 容灾快速恢复1.2 模拟一主两从前提:拷贝多个redis.conf文件include(写绝对路径)Pid文件名字pidfile指定端口portLog文件名字dump.rdb名字dbfilename开启daemonize yesAppendonly 关掉或者原创 2022-04-09 21:51:17 · 78866 阅读 · 0 评论 -
redis 9.Redis持久化之AOF (AOF和RDB同时开启统默认取AOF的数据、AOF启动/修复/恢复), redis如何选择使用哪种持久化方式 ?
文章目录1.1 AOF概念1.2 AOF持久化流程1.3 AOF配置以及AOF和RDB同时开启统默认取AOF的数据1.3.1 AOF默认不开启1.3.2 AOF和RDB同时开启,系统默认取AOF的数据1.4 AOF启动/修复/恢复1.5 AOF同步频率设置1.6 Rewrite压缩1.6.1 概念:1.6.2 重写原理,如何实现重写1.6.3 重写流程1.7 优势劣势1.8 redis如何选择使用哪种持久化方式 ?AOF?RDB?1.1 AOF概念 以日志的形式来记录每个写操作(增量保存),将Red原创 2022-04-09 10:58:01 · 55196 阅读 · 0 评论 -
redis 8.Redis持久化之RDB (如何触发RDB快照;rdb备份恢复)
文章目录前言1.1 RDB概念1.2 RDB配置前言 Redis 提供了2个不同形式的持久化方式:RDB(Redis DataBase)AOF(Append Of File) RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储. AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾.Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大. 如果只希望数据在服务原创 2022-04-08 09:29:20 · 53875 阅读 · 1 评论 -
redis 7.乐观锁、悲观锁,Redis事务,秒杀案例,redisTemplate执行事务操作和LUA脚本
文章目录1.1 超卖问题1.2 超卖解决(1) RedisTemplate 的默认配置不支持事务1.3 解决库存遗留问题1.1 超卖问题大量用户并发的,向库存系统下订单:1.2 超卖解决 利用乐观锁淘汰用户,解决超卖问题:@RestController@RequestMapping("/redisTest")public class RedisTestController { @Autowired private RedisTemplate redisTemplate原创 2022-04-08 00:24:58 · 54786 阅读 · 0 评论 -
redis 6.jedis常用操作 手机6位验证码
文章目录1.1 Jedis所需要的jar包1.2 连接Redis注意事项1.3 Jedis常用操作1.4 完成一个手机验证码功能1.4.1 发送6位验证码的3种方法1.4.2 手机验证码功能1.1 Jedis所需要的jar包<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.2.0</version&g原创 2022-04-06 21:17:40 · 54036 阅读 · 0 评论 -
redis 5.value类型 Bitmaps(位操作,一般用于统计UV) HyperLogLog(一般用于解决基数问题) Geospatial(一般用于地理信息经纬度计算)
文章目录1.1 Bitmaps1.1.1 简介1.1.2 常用命令(1) 设置Bitmaps中某个偏移量的值(0或1)(2) 获取Bitmaps中某个偏移量的值(从0开始算)(3) 统计字符串从start byte到end byte中 bit为1的数量(4) 多个Bitmaps的and(交集) 、 or(并集) 、 not(非) 、 xor(异或) 操作并将结果保存在destkey中1.1.3 Bitmaps与set对比1.2 HyperLogLog1.2.1 简介1.2.2 常用命令(1) 添加指定元素原创 2022-04-06 05:53:42 · 71956 阅读 · 0 评论 -
redis 4.Redis的发布和订阅
文章目录1.1 什么是发布和订阅1.2 实现1.1 什么是发布和订阅 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。客户端可以订阅频道如下图2、当给这个频道发布消息后,消息就会发送给订阅的客户端1.2 实现打开一个客户端订阅channelsubscribe mychannel打开另外2个客户端给channel发布消息注:发布的消息没有持久化,订阅的客户端只能收到订阅原创 2022-04-05 22:15:33 · 53538 阅读 · 0 评论 -
redis 18. lru算法 缓存淘汰机制
1.LRU是什么?Least Recently Used,最近最久未使用法,按照一个非常著名的计算机操作系统基础理论:最近使用的页面数据会在未来一段时期内仍然被使用,已经很久没有使用的页面很有可能在未来较长的一段时间内仍然不会被使用。基于这个思想,会存在一种缓存淘汰机制,每次从内存中找到最久未使用的数据然后置换出来,从而存入新的数据!主要衡量指标是使用的时间,附加指标是使用的次数。在计算机中大...原创 2020-03-12 08:17:04 · 180 阅读 · 0 评论 -
redis 3.配置文件(网络配置、安全、客户端连接数、最大内存设置、后台运行删除)
文章目录一.配置文件1.1 Units1.2 INCLUDES1.3 网络相关配置1.3.1 bind1.3.2 protected-mode1.3.3 Port1.3.4 tcp-backlog1.3.5 timeout1.3.6 tcp-keepalive1.4 GENERAL1.4.1 daemonize1.4.2 pidfile1.4.3 loglevel1.4.4 logfile1.4.5 databases 161.5 SECURITY1.5.1 设置密码1.6 LIMITS限制1.6.1 ma原创 2022-04-05 21:14:06 · 52958 阅读 · 0 评论 -
redis 2.key及其命令,value的五种数据类型String List Set Hash Zset及其命令
文章目录一.redis常用五大数据类型1.1 key(1) 按模式匹配对应的key(2) 判断key是否存在(3) 查看key的类型(4) 删除指定的key(5) 根据value选择非阻塞删除(6) 为给定的key设置过期时间(单位 秒)(7) 查看key还有多少秒过期,-1表示永不过期,-2表示已过期1.2 redis原子性1.3 String1.3.1 简介1.3.2 常用命令(1) 添加键值对(2) 查询对应键值(3) 将给定的 追加到原值的末尾(4) 获得值的长度(5) 将 key 中储存的数字值增原创 2022-04-05 20:24:04 · 55197 阅读 · 0 评论 -
redis 1.NOSQL、CAP理论、redis单节点安装启动、redis密码设置、redis单线程+多路IO复用技术
一.NoSql1.出现背景1.1单机Mysql数据的瓶颈1.数据量的总大小 一个机器放不下时2.数据的索引(B+ Tree)一个机器的内存放不下时3.访问量(读写混合)一个实例不能承受1.2Memcached+mysql+垂直拆分1.3mysql主从读写分离1.4分表分库 水平拆分 mysql集群1.5 mysql瓶颈MySQL数据库经常存储一些大文本字段,导致数据库表非...原创 2020-03-11 23:36:40 · 52631 阅读 · 0 评论