10-Redis课上问题总结(2107)

Day01 ~Redis入门

核心知识点

  • Redis 简介(分布式内存数据库,非关系型数据库,NoSQL数据库)
  • Redis 基本架构(C/S架构,redis-cli,redis-server)
  • Redis 服务的线程模型(6.0之前都是单线程,6.0之后网络io操作引入了多线程)
  • Redis 数据库的基本操作(服务的启动,停止,redis的登入,登出)
  • Redis 数据库常用数据类型的基本操作(string,hash,list,set,…)
  • Redis 客户端API(Jedis)的基本应用(对象的创建,对象的销毁,常用方法的应用)

常见问题分析

  • 为什么使用redis?(解决分布式系统下数据缓存的问题)
  • Redis数据中常用的数据类型有哪些?(string,hash,list,set,…)
  • Redis数据中常用的数据类型的应用场景?(…)
  • 如何理解Redis数据库的大小哈希(hash)操作?(全局,局部)
    在这里插入图片描述

常见Bug分析

  • Redis服务启动失败1?(安装redis时丢了步骤,没有创建redis.conf文件)
    在这里插入图片描述
  • Redis服务启动失败2?(需要重启docker)
    在这里插入图片描述
  • Reids连接失败?(IP地址)
    在这里插入图片描述

课后作业

  • 总结课上知识点
  • 尝试应用Jedis中的连接池(JedisPool).
  • 强化练习基于jedis实现的Redis其它数据类型的操作.

Day02~Java中Redis基本操作

核心知识点

  • Jedis 连接池(JedisPool)基本应用
  • 双重校验机制在Redis连接池应用时的实现(JedisDataSource)。
  • 基于Jedis API实现分布式ID,单点登陆,投票系统的基本操作
  • SpringBoot 工程中StringRedisTemplate,RedisTemplate的基本应用

常见问题分析

  • 为什么使用redis连接池?(每次创建连接比较耗时?最好创建的连接能够重复使用)
  • 连接池设计时都会用到什么设计模式?(享元模式)
  • Volatile关键描述属性时有什么作用?(多线程可见,禁止指令重排序,不保证原子性;单线程没有必要使用此关键字)
  • 基于Redis的单点登陆你是如何设计和实现的?
  • 基于某个活动的投票系统如何设计和实现?
  • StringRedisTemplate和RedisTemplate两个应用时有什么不同?

常见Bug分析

  • Java中无法建立与数据库的连接。
  • SpringBoot工程中的单元测试找不到启动类。

课后作业

  • 总结课上知识点
  • 基于redis以及Jedis API 实现一个简易购物车的操作
  • 基于RedisTemplate将一个Blog对象存储到redis
  • 预习RedisTemplate对象的定制(思考为什么要定制呢).

Day03~Java中Redis基本操作

核心知识点

  • 基于Redis实现简易购物车业务
  • RedisTemplate对象的序列化及反序列化分析
  • 基于业务定制RedisTemplate对象
  • SpringBoot工程中RedisTemplate以及AOP方式应用实践.

常见问题分析

  • 如何修改RedisTemplate对象的默认序列化方式?
  • 为什么要自己创建RedisTemplate对象并交给Spring管理?
  • 定制RedisTemplate对象时,你是如何实现的序列化和反序列化的?
  • 从数据库查询到的数据为什么要存储到redis,如何存储到redis数据库?

常见Bug分析

  • Redis反序列化异常?(检查RedisTemplate配置是否正确)
  • SpringBoot工程配置redis的lettuce连接池时缺少commons-pool2依赖
  • 依赖注入异常(检查你需要的对象是否交给了spring管理)

课后作业

  • 总结课上知识点
  • 了解Spring中@Cacheable,@CachePut注解的应用
  • 完成菜单模块的所有查询,添加,修改等业务的设计及实现.
  • 预习Redis数据库的持久化.
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>