Redis7分布式缓存
一、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连不上
Ⅲ protected–mode 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进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。