Redis
1.为啥需要redis
互联网最初的服务架构
mysql数据量增长,读写压力增大比如秒杀业务...
因为从内存中读取数据速度更快,因此想把数据存储到内存中,redis应运而生。
2.Redis的工作原理
服务器重启后,内存中的数据丢失。
AOF文件redis日志文件保存的redis的操作,通过记录Redis的所有写操作命令到一个追加日志文件来实现持久化的,Redis需要恢复数据时,它会重新执行AOF文件中的所有写操作命令,以恢复到之前的状态。
RDB文件redis持久化在这种方式下,Redis会在指定的时间间隔内生成一个完整的备份文件。以二进制的格式储存在磁盘上。
redis是单线程执行操作的。
3.案例
可以利用redis的过期时间, redis的string的数据结构
flags 数据类型 buf存储数据
alloc容量 len长度
有数据生成就推送消息通知,没有消息就等待,就是一个消息队列。
listpack 开辟的大量空间,存储了不止一条数据。
tot-bytes记录整个空间有多大 num-elements元素个数
点赞数和阅读数....可能会有多人同时在操作,存入redis中可以缓解数据库的压力。
hash是一个key和value的键值存储数据结构。
利用pipe可以将多条数据打包一起发送至redis )
4.
redis 中dict结构 采用hash加跳跃表
快速查找:在Redis的dict结构中,可以通过键来快速查找数据。这使得在排行榜中查找数据变得非常高效。
排序方便:Redis的dict结构可以方便地对成员进行排序。这使得我们可以轻松地按照某个分数对排行榜进行排序,以得到最新的排名结果。
采用跳跃表可以快速查询的对应的数据
5.
限流通过incr控制访问量