本文介绍: 分布式缓存,挡在mysql数据库之前的带刀护卫一个队列中,一次性、顺序性、排他性的执行系列命令

Redis7分布式缓存


Redis7 Github

一、Redis入门概述

1.主流功能应用

2.命名规则


二、Redis 10 大数据类型

这里说的数据类型value数据类型key类型都是字符串

1.redis字符串 (String)

2. redis列表 (List)

3. redis哈希表 (Hash)

4. redis集合 (Set)

5. redis有序集合 (ZSet)

6. redis地理空间(GEO)

7. redis基数统计 (HyperLogLog)

8. redis位图 (bitmap)

9. redis位域 (bitfield)

10. redis流(Stream)


三. Redis持久

1. RDB

① 是什么


② 能干嘛

Snapshotting Config 快照时间配置redis.conf

如何恢复


如何备份

BGSAVE(默认)


⑤ 优点


⑥ 缺点



⑦ 那些情况会触发RDB快照

如何禁用快照

2. AOF (Aof保存的是appendonly.aof文件

① 是什么

② AOF持久化工作流程


③ AOF缓冲区三种写回策略

如何开启AOF




⑤ 优点


⑥ 缺点

⑦ AOF重写机制

Ⅰ是什么


触发机制


案例说明


Ⅳ 重新原理

⑧ AOF优化配置详解

⑨ 小总结

3. AOF+RDB





4. 纯缓存模式


四. Redis事务

1. 是什么

2. 能干嘛

一个队列中,一次性、顺序性、排他性的执行系列命令

3. Redis事务 VS 数据库事务

4. Redis事务常用命令





五. Redis管道

1. 面试题

2. 是什么

解决思路

3. 小总结


六. Redis复制replica

1. 是什么

2. 能干嘛

3. 怎么玩

4. 案例分析

架构说明


② 小口诀

修改配置文件细节操作

开启daemonize yes 开启后台运行

注释bind 127.0.0.1 否则别的redis连不上

protectedmode no 保护模式关闭

指定端口

指定当前工作目录 dir

pid文件名字,pidfile

log文件名字,logfile

requirepass

dump.rdb名字

Ⅹ aof文件,appendfilename

ⅩI 从机访问主机的通行密码masterauth,必须

5.常用三招

① 一主二仆

② 薪火相传

③ 反客为主

6.复制原理工作流程


7. 复制缺点


七、Redis哨兵sentinel

1. 是什么


2.能干嘛

3. 怎么玩

① Redis哨兵(sentinel架构,前提说明


案例步骤

Ⅰ先看看/opt目录下默认的sentinel.conf文件内容

Ⅱ 重点参数说明






③ 其它步骤

4. 哨兵运行流程和选举原理

① SDown主观下线(Subjectively Down)


② ODown客观下线(Objectively Down)


③ 选举出领导者哨兵(哨兵中选出兵王)


④ 由兵王开始推动故障切换流程并选出一个新master

5. 哨兵使用建议

在这里插入图片描述


八. Redis集群(cluster)

1. 是什么


2. 能干嘛

3. 集群算法-分片-槽位slot

redis集群的槽位slot

redis集群的分片

③ 他两的优势

④ slot槽位映射,一般业界有3种解决方案

哈希取余分区

一致性哈希算法分区


哈希分区

是什么

###### 哈希计算

4. 为什么redis集群的最大槽数是16384个 ?






5.

九. SpringBoot集成Redis

1. Jedis

Jedis Client是Redis官网推荐的一个面向java客户端文件实现了对各类API进行封装调用

2. Lettuce

① 是什么

② Jedis和Lettuce区别

3. 集成RedisTemplate-推荐使用

连接单机

序列化问题


Ⅱ 配置类
@Configuration
public class RedisConfig
{
    /**
     * redis序列化工具配置类,下面这个请一定开启配置
     * 127.0.0.1:6379> keys *
     * 1) "ord:102"  序列化过
     * 2) "xacxedx00x05tx00aord:102"   野生,没有序列化过
     * this.redisTemplate.opsForValue(); //提供了操作string类型的所有方法
     * this.redisTemplate.opsForList(); // 提供了操作list类型的所有方法
     * this.redisTemplate.opsForSet(); //提供了操作set的所有方法
     * this.redisTemplate.opsForHash(); //提供了操作hash表的所有方法
     * this.redisTemplate.opsForZSet(); //提供了操作zset的所有方法
     * @param lettuceConnectionFactory
     * @return
     */
    @Bean
    public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory)
    {
        RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>();

        redisTemplate.setConnectionFactory(lettuceConnectionFactory);
        //设置key序列方式string
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        //设置value序列方式json使用GenericJackson2JsonRedisSerializer替换默认序列
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());

        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());

        redisTemplate.afterPropertiesSet();

        return redisTemplate;
    }
}

连接集群

Ⅰ 改写yml

故障


Ⅲ 导致原因

解决方案


刷新节点集群拓扑动态感应

原文地址:https://blog.csdn.net/weixin_46955971/article/details/131118088

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_13951.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注