Day5
目录
为什么java操作Redis方法里的参数类型不同于Redis
作者是根黑马课程学习的
前言
今天主要学习了一下Redis的基本知识
1.任务报告
1.Redis安装与配置
2.Redis的数据类型
3.Redis的基本命令
4.Spring中如何配置Redis
5.Spring中如何使用Redis(Spring的方法)
6.完成了店铺操作的接口
2.任务中的收获
1.Redis的基本使用
1.Redis的Windows版本似乎好久没有更新了,今天是跟随老师使用的Windows版本(后期具体学习Redis时,会使用Linux),在Redis中没有用户名的概念,只有密码(在Windows版本中是在配置类中更改密码)
在该配置类中找到
将注释解除,requirepass 后面接的就是你的密码
2.Mysql与Redis命令的区别:Mysql的命名是不区分类型的,而Redis则是区分类型
3.Redis的基本类型:
4.Redis字符串类型命令:
5.Redis哈希类型命令:
6.Redis列表类型命令:
7.Redis集合类型命令:
8.Redis有序集合类型命令:
9.Redis通用命令:
10总结:
1.在Redis命令使用时返回的是1就代表执行成功,0就是失败
2.在字符串类型命令中set与setnx的区别:set是如果key存在,那么会覆盖之前value(没有就创建,有就不覆盖),而setnx则是key存在,不会覆盖(没有就创建,有就不操作)
3.在字符串类型命令中setex可以设置过期时间(指定30秒,30秒后结束那么Redis就会自动删除该key),所以我们可以想到什么场景 =》验证码(它是会过期的)
4.在哈希类型命令中没有什么注意的,不过哈希的key与field不好记忆,一个简单理解的方法
=》你将key看作Mysql中的table(表),而field就是表中的ID,value就是具体的数据
5.在列表类型命令中要注意一下添加命令lpush:它每次添加数据都是从最左侧添加(先添加a后添加b,那么它们的顺序是:b a)(看作队列)
6.在列表类型命令中怎么使用查询命令lrange:就是指定索引,开始索引和结束索引(结束索引有点不同与java),开始索引(一般写0,索引从0开始的),而结束索引(写-1代表列表的最后一个元素,-2代表倒数第二个元素,依次推)
7.在有序集合类型(不允许重复,分数为double类型)命令中查询命令zrange中可以加一个参数:withscores,加了这个参数会将分数也查询出来,没有就只会查询所有元素
8.在有序集合类型(不允许重复)命令中添加分数命令zincrby:是在原先分数的基础上添加分数(现在=原先+要添加值)
9.在通用命令中keys命令:可以写(keys *)查询所有key ,这样写(keys set*)查询前缀为set的key
2.如何在Spring中配置Redis
1.在pom中导入Redis坐标
2.配置数据源
先在开发环境中配置Redis的具体参数,在主配置文件中引用开发环境的参数(有多种环境,之前说过)
3.编写配置类,创建RedisTemplate对象
4.通过RedisTemplate对象来操作Redis
3.知识点的扩展
为什么java操作Redis方法里的参数类型不同于Redis
Redis的value类型是String类型,而java中的value类型却是Object类型
Redis
java
为什么呢? =>因为java会自动将Object转换成String类型再存入Redis,而java使用Object来接收值(实现不同类型都可以接收,最终会转换为String)