Redis数据库:一份简明指南

发表时间: 2023-11-30 10:46


Redis的介绍

redis是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串strings,散列hashes,列表lists,集合sets,有序集合sorted sets的范围查询,bitmaps,hyperloglogs 和地理空间geospatial索引半径查询。


Redis的特点

Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。

Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载使用。

Redis是单线程的,所以Redis的所有单个操作都是原子性的。减少了上下文切换,减少了线程间的切换对CPU的消耗。也减少了加锁,解锁的过程。也减少了死锁的风险。

Redis支持数据的备份(master-slave)与集群(分片存储),以及拥有哨兵监控机制。

支持事务。


Redis的场景

数据缓存:为热点数据加速查询(主要场景),如热点商品、热点新闻等高访问量信息等。

即时信息查询:排行榜、网站访问统计、公交到站信息、在线人数信息等。

时效性信息控制:如验证码控制、投票控制等

分布式数据共享:如分布式集群架构中的session分离


Redis的优势

性能极高,Redis能读的速度是110000次/s,写的速度是81000次/s , 并且因为数据存在内存中,所以数据获取快。单条命令式保存原子性的,但是事务不保证原子性,通过MULTI和EXEC指令包起来。

假设在某一个大型网站首页一天有100万人访问,其中有一个板块为推荐新闻。要是直接从数据库查询,那么一天就要多消耗100万次数据库请求。将这种热点数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。