这是我参与「第五届青训营 」伴学笔记活动十七天
redis是什么呢
存储:单表->分库分表。
提高读取速度:数据分冷热,热数据放到内存中。
Web->server->redis->mysql(可以把redis理解成内存,mysql是硬盘)
基本工作原理
AOF文件:写命令追加到AOF文件,增量数据文件。 RDB:全量数据文件。 单线程处理所有操作命令。
应用案例
- 连续签到
- 掘金每日连续签到
- 天数+1
- 断签签到天数将归零
- string 数据结构
- 存储 字符串、数字、二进制数据
- 通常和expire配合使用
- 场景:存储技术、Session
- [len | alloc | flags | buf ] 指针向右获取value [buf],向左获取元信息[l\a\f]
- 掘金每日连续签到
- 消息通知
- list 数据结构
- QuickList由一个双向链表和listpack实现
- list 数据结构
- 计数
- hash数据结构
- 文章的点赞数不能用count次数,否则次数很多会崩溃
- 把一些信息,点赞数量、评论数量、粉丝数量用一张表以hash的形式存到redis中
- hash数据结构
- 排行榜
- 限流
- 分布式锁
菜鸟教程Redis
- What
- kv存储系统,是跨平台的非关系型数据库
- 基本数据结构
- string
- 二进制安全的,可以包含任何数据,比如jpg图片或者序列化的对象
- SET设置kv记录 GET获取kv记录
- hash
- 适合存储对象
- DEL删除记录 HMSET哈希映射 HGET读取哈希值
- list
- 字符串列表,按照插入顺序排序,可以添加元素到列表的头部或者尾部
- lpush 插入列表
- lrange 读取列表
- set
- 是string类型的无序集合
- 通过哈希表实现
- sadd 向set中加入 smembers 获取set内容
- sorted Set(zset)
- 有顺序的set
- string
- 特点
- 支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
- 丰富的数据结构
- 支持数据的备份
- 命令
- redis-cli //连接本地redis服务
- PING 验证服务是否启动