目录
Redis---是一个数据库,用来存储数据
一.Redis入门
Redis简介
区别:Redis是将数据存储在内存当中,而mysql是通过数据文件存储在磁盘当中
Redis是键值对方式存储,而mysql是通过二维表来存储
Redis存在mysql没有的优点:
1.Redis内存存储,读写性能高(但是内存有限 不可能代替mysql)
2.适合存储热点数据(热点商品 资讯 新闻)--特点:在某一个特定的时间点会有大量的数据访问(抢购 秒杀 热点数据 )----Redis是对mysql的一个补充,项目开发当中,mysql与Redis是共存的,两者是互相补充的。
在配置文件当中,修改Redis服务的端口号,设置新的密码等等
客户端命令,连接Redis服务
Redis服务端启动命令,通过该命令,启动该Redis服务
重新启动,客户端连接服务
此时,已连接本地6379服务
提示:当前Redis为空,没有任何的数据,是正常的提示信息
验证Redis的客户端和服务器都没有问题
-h : -host(要连接的Redis服务的ip) -p:端口号(当前默认是6379)
通过-h和-p就可以指定我们要连接的端口服务
没有输入过密码?Redis配置文件默认是没有密码的---修改配置文件
此时,不需要用户名,只需要密码即可
二.Redis数据类型
Redis使用键值对存储数据
哈希结构用来存储对象
三.Redis常用命令
Redis插入数据,需要知道数据是什么类型的,不同的类型命令也是不一样的。
字符串操作命令
对于第三条,常用于短信验证码
//不存在时返回null set用来设置值,get用来获取值
setex(指定键值对的同时,可以同时指定过期时间,过期时间的单位是秒)
//响应时间后就不存在了
//setnx的值不能够被覆盖掉
哈希操作命令
需要设置三个值:key field value
//删除name字段
列表操作命令
尾部可以用-1来表示
lrange可以返回指定范围内的元素
rpop移除从末尾开始的元素(删除队尾的元素)
//返回元素的个数
集合操作命令
由图可知,集合由key和value所组成,并且value无序,
smembers--返回所有的成员,相当于一个查询操作
//再插入四个元素
//查看两个集合中的相同共有的元素
有序集合操作命令
关联的分数:是用来排序的
//添加c,介于ab之间
//结果通过升序来排列
//给a加上5分
//删除b
通用命令
//返回当前数据库里面所有的key
//返回以set开头的所有的Redis数据库key
//查看name这个key是否存在 存在为1 不存在为0
//查看key是什么数据类型 type
//通过del来删除指定key
//一次删除了多个key
四.在java中操作Redis
Redis的java客户端
此时我们发现已经导入
设置有效期setex---还是调用set方法
插入数据的同时,设置有效期
五.店铺营业状态设置
设置营业中和打样中
需要两个接口,分别用来查询和设置修改(商家查询 用户也需要查询)
写成两个的原因:两个接口无法合并,这样做有助于判定,便于区分是管理端还是用户端
设置营业状态:本质上是修改类的操作,请求方式为put 查询,用get
两者路径有所不同
代码开发
复制一下分成两份来写,就有如下的界面效果:
可以自如的切换