sky-take-out chapter 4

jhhhred / 2024-08-27 / 原文

店铺营业状态设置

Redis入门

(1)简介

  • Redis是一个基于内存的key-value(键值对)结构数据库(Redis是内存存储,mysql那些是通过数据文件存在磁盘上)
  • 基于内存存储,读取性能高
  • 适合存储热点数据(热点商品、咨询、新闻)
  • 企业应用广泛

(2)下载安装
(3)Redis服务启动与停止

  • 启动:C:\develop\Redis-x64-3.2.100>redis-server.exe redis.windows.conf

  • 停止:快捷键ctrl+C

  • 客户端连接redis:redis-cli.exe -h localhost -p 6379

  • 退出客户端:exit

  • 修改配置文件设置密码后客户端连接:redis-cli.exe -h localhost -p 6379 -a 123456

Redis数据类型

Redis存储的是key-value结构的数据,其中key是字符串类型,value有五种常用的数据类型

(1)五种常用数据类型(value中的)介绍

  • 字符串String: 普通字符串
  • 哈希hash: 散列,类似于java中的HashMap,适合存对象
  • 列表list: 按照插入顺序排列,可以有重复元素,类似于java中的LInkedList
  • 集合set: 无序集合,没有重复元素类似于java中HashSet
  • 有序集合 sorted set/zset: 集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素,适合排行榜之类的

Redis常用命令

(1)字符串操作命令

  • SET key value 设置指定key的值
  • GET key 获取指定key的值
  • SETEX key seconds value 设置指定key的值,并将key的过期时间设置为seconds秒(应用: 短信验证码的过期时间)
  • SETNX key value 只有key不存在时设置key的值(应用:分布式锁)

(2)哈希操作命令
Redis hash 是一个String类型的field和value的映射表,hash特别适用于存储对象,常用命令:

  • HSET key field value 将哈希表key中的字段field的值设为value
  • HGET key field 获取存储在哈希表中的指定字段的值
  • HDEL key field 删除存储在哈希表中的指定字段
  • HKEYS key 获取哈希表中所有字段
  • HVALS key 获取哈希表中所有值

(3)列表操作命令
Redis列表是简单的字符串列表,按照插入顺序排序,常用命令:

  • LPUSH key value [value2] 将一个或多个值插入列表头部
  • LRANGE key start stop 获取列表指定范围内的元素
  • RPOP key 移除并获取列表最后一个元素
  • LLEN key 获取列表长度

(4)集合操作命令
Redis set 是String类型的无序集合。集合成员唯一、不重复,常用命令:

  • SADD key member1 member2.. 向集合中添加一个或多个成员
  • SMEMBERS key 返回集合中的所有成员
  • SCARD key 获取集合的成员数
  • SINTER key1 [key2] 返回给定所有集合的交集
  • SUNION key1 [key2] 返回所有给定集合的并集
  • SREM key member1 [member2] 删除集合中一个或多个成员

(5)有序集合操作命令
有序集合,String类型元素的集合,不允许有重复成员,每个元素都会关联一个double类型的分数

  • ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员
  • ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间内的成员
  • ZINCRBY KEY increment member 有序集合中对指定成员的分数加上增量increment
  • ZREM key member [member...] 移除有序集合中的一个或多个成员

(6)通用命令

  • KEYS pattern 查找所有符合给定模式的key
  • EXISTS key 检查给定key是否存在
  • TYPE key 返回key所存储的值的类型
  • DEL key 改名令用于在key存在是删除key

在java中操作Redis

(1)Redis的java客户端

  • Jedis
  • Lettuce
  • Spring Data Redis

(2)Spring Data Redis使用方式

  • 导入Spring Data Redis的maven坐标
  • 配置Redis数据源
  • 编写配置类,创建RedisTemplate对象
  • 通过RedisTemplate对象操作Redis

店铺营业状态设置

(1)需求分析和设计
接口设计:

  • 设置营业状态
  • 管理端查询营业状态
  • 用户端查询营业状态

营业状态数据存储方法:基于Redis的字符串来进行存储

(2)代码开发
(3)功能测试