[TOC]
### set 设置普通类型的值
* [ ] 设置 set
```
set(key: string, value: string expiryMode: string[ EX 秒 PX 分钟 ], time: number )
```
>[danger] key: 键名称
value:存储的值
expiryMode:添加过期时间类型 EX 秒 PX 分钟
time:过期时间
```
// 存储一个key为gender,value 为 男人的数据,10秒后过期
await this.app.redis.set('gender', '男人', 'EX', 10)
```
*****
### expire 为一个key重新设置过期时间
```
await this.app.redis.expire('name', 20) 秒
```
*****
### rpush 数组右侧新增
```
await this.app.redis.rpush('userList','张三')
await this.app.redis.rpush('userList','李四')
await this.app.redis.rpush('userList', '王五')
返回一个数组 ['张三','李四', '王五']
```
### lpush 数组左边新增
```
await this.app.redis.lpush('userList', '数组左边新增的')
[
"数组左边新增的",
"张三",
"张三",
]
```
*****
### sadd 创建一个集合
```
await this.app.redis.sadd('setList', '张三','李四','赵六')
返回值:['张三', '李四', '赵六']
```
*****
### hset 设置哈希类型 就是存储一个对象
```
await this.app.redis.hset('loginUser', 'id', 1)
await this.app.redis.hset('loginUser', 'uname', '张三')
await this.app.redis.hset('loginUser', 'phone', '18888888888')
await this.app.redis.hset('loginUser', 'address', '北京市朝阳区')
{
"id": "1",
"uname": "张三",
"phone": "18888888888",
"address": "北京市朝阳区"
}
```
*****
### hmset 一次性设置多个值
```
await this.app.redis.hmset('userInfo','name','张三','age',18,'address','回龙观')
```
- 概述
- 起步
- 跨域配置
- 路径别名
- 路由
- api版本控制
- 错误和异常
- 全局异常处理
- 数据库
- 创建迁移文件
- sequelize数据类型
- 配置
- 新增
- 查询
- 条件查询
- 模糊查询
- 排序查询
- 聚合查询
- 分组查询
- 分页查询
- 修改
- 删除
- 获取器
- 修改器
- 静态属性
- 字段验证
- 外键约束
- 关联模型
- 一对一
- 一对多
- 左外连接
- 多对多
- 字段显示隐藏
- 事务
- 字段自增
- 验证层
- egg-validate
- indicative验证器
- egg-validate-plus
- betterValidate
- 校验规则
- 中间件
- 安全
- 数据加密
- 单向加密
- 示例代码
- 封装egg加密
- 上传
- path模块
- 单文件上传
- 多文件上传
- 按照日期存储
- 工具函数
- egg常用工具函数
- 缓存
- 配置缓存插件
- 设置缓存
- 获取缓存
- 删除缓存
- 消息队列
- rabbitMQ
- 安装
- 简单队列
- 工作队列
- 工作队列(dispach分发)
- 消息应答和持久化
- redis
- 数据类型
- 字符串类型(String)
- 哈希类型(Hash)
- 列表(List)
- 无序集合(Set)
- 可排序集合(Zset)
- 邮件系统
- nodeMailer
- 第三方模块
- 生成随机数
- JWT
- JWT鉴权
- 生成Token
- 短信服务
- 阿里大鱼短信验证码
- 发送短信逻辑
- 阿里短信Node类