一、为什么使用 Redis?
- Redis 是开源的内存中的数据结构存储系统,它可以用作数据库、数据缓存和消息中间件。
- 它支持多种类型的数据结构,如 字符串strings, 散列 hashes, 列表 lists, 集合 sets, 有序集合 sorted
sets 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 - Redis 还内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU
eviction),事务(transactions) 和不同级别的磁盘持久化(persistence), 并通过
Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability) - 支持数据的备份,即 master-slave 模式的数据备份。
- 运行时数据和状态都保存在内存中,支持数据的持久化。 可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用等等。
二、Redis在项目中的应用场景
1、缓存数据
最常用,对经常需要查询且变动不是很频繁的数据 常称作热点数据。
2、消息队列
相当于消息订阅系统,比如ActiveMQ、RocketMQ。如果对数据有较高一致性要求时,还是建议使用MQ。
3、计数器
比如统计点击率、点赞率,Redis具有原子性,可以避免并发问题。
4、电商网站信息
大型电商平台初始化页面数据的缓存。比如去哪儿网购买机票的时候首页的价格和你点进去的价格会有差异。
5、热点数据
比如新闻网站实时热点、微博热搜等,需要频繁更新。总数据量比较大的时候直接从数据库查询会影响性能。
三、redis部署
//关闭防火墙
systemctl stop firewalld
setenforce 0
//安装
yum install -y gcc gcc-c++ make
//解压安装包,make编译
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis/ install
[root