Redis
Redis是一个开源的内存中的数据结构存储系统,可以作为缓存、数据库和消息中间件。是C语言开发的Key-Value数据库,是NoSQL(非关系型数据库)。NoSQL是对关系型数据库(各个表之间右外键约束等)的补充
更多操作看Redis中文网
应用场景
- 缓存
- 消息队列
- 任务队列
- 分布式锁
常用数据类型
key-value 槽位满了,kt【0】,kt【1】
hash,存储人名:联系方式等例子
列表更多会用任务队列
有序集合:排行榜
常用命令
string操作命令
- SET key value
- GET key
- SETEX key seconds value 设置指定key的值value,并设置key的过期时间为seconds秒,验证码可以应用
- SETNX key value 只有key不存在时设置key的值(分布式锁应用)
Hash常用命令
- HSET key field value 将哈希表key中的字段field的值设置为value
- HGET key field 获取存储在哈希表中指定字段的值
- HDEL key field 删除存储在哈希表中指定字段的值
- HKEYS key 获取存储在哈希表所有字段
- HVALS key 获取存储在哈希表所有字段
- HGETALL key 获取存储在哈希表所有字段和值
列表List常用命令(队列实现的)
- LPUSH key value1[ value2] 将一个或者多个值插入列表头部
- LRANGE key start stop 获取列表指定范围内的元素
- RPOP key 移除并获取列表最后一个元素
- LLEN key 获取列表长度
- BLPOP key1 [key2 ] timeout 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
- BRPOP key1 [key2 ] timeout 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。