10-Redis课上问题总结(2107)
Posted 雨田说码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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实现简易购物车业务(哪些数据要放到购物车,方案设计,基于Hash类型实现数据存储)
- RedisTemplate对象的序列化及反序列化分析(默认,自定义)
- 基于业务定制RedisTemplate对象(重点是序列化方式的自定义)
- SpringBoot工程中RedisTemplate以及AOP方式应用实践.
常见问题分析
- 如何修改RedisTemplate对象的默认序列化方式?(直接set方法,定制RedisTemplate对象)
- 为什么要自己创建RedisTemplate对象并交给Spring管理?(业务需要)
- 定制RedisTemplate对象时,你是如何实现的序列化和反序列化的?(jackson)
- 从数据库查询到的数据为什么要存储到redis,如何存储到redis数据库?
常见Bug分析
- Redis反序列化异常?(检查RedisTemplate配置是否正确)
- SpringBoot工程配置redis的lettuce连接池时缺少commons-pool2依赖
- 依赖注入异常(检查你需要的对象是否交给了spring管理)
课后作业
- 总结课上知识点
- 了解Spring中@Cacheable,@CachePut注解的应用
- 完成菜单模块的所有查询,添加,修改等业务的设计及实现.
- 预习Redis数据库的持久化.
以上是关于10-Redis课上问题总结(2107)的主要内容,如果未能解决你的问题,请参考以下文章
# 20155337 2017-2018 1 课上测试课下作业实验