Redis的技术全景
Redis是一个开源的基于键值对(Key-Value)的NoSQL数据库,使用ANSI C语言编写,支持网络,基于内存但支持持久化。它性能优越,并提供多种语言的API。我们可以将Redis视为一个巨大的Map,对Map的操作就是get和put,通过key操作这个key所对应的value。Redis提供了多种数据结构,例如字符串(String)、哈希(Hash)等。
理解Redis的关键是建立一套完整的知识框架。Redis的知识体系可以分为两大维度和三大主线。
两大维度
- 应用维度: Redis的主要应用场景包括缓存、排行榜系统、计数器应用、社交网络和消息队列系统。
- 底层原理维度: 了解Redis的底层数据结构和工作原理。
Redis应用场景
- 缓存: 提高数据访问速度,降低后端数据源压力。Redis提供键值过期时间设置、内存控制和淘汰策略。
- 排行榜系统: 使用列表和有序集合构建各种排行榜系统。
- 计数器应用: 实时计数,性能优越,适用于视频网站的播放数、电商网站的浏览数等。
- 社交网络: 实现赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等功能。
- 消息队列系统: 提供发布订阅和阻塞队列功能,适用于业务解耦和非实时业务削峰。
三大主线
- 高性能: 包括线程模型、数据结构、持久化、网络框架。
- 高可靠: 包括主从复制、哨兵机制。
- 高可扩展: 包括数据分片、负载均衡。
掌握三大主线可以解决Redis在数据结构、内存、持久化和网络方面的问题。
Redis的版本选择与安装
Redis版本号第二位为奇数的是非稳定版本,如2.7、2.9、3.1;版本号第二位为偶数的是稳定版本,如2.6、2.8、3.0。一般来说,奇数版本是下一个稳定版本的开发版本。
Redis的安装非常简单,可以从Redis官网(Download | Redis)下载对应版本,安装命令如下:
wget https://download.redis.io/releases/redis-6.2.7.tar.gz
tar xzf redis-6.2.7.tar.gz
cd redis-6.2.7/
make
make install PREFIX=/home/lijin/redis/redis
安装常见问题
- 缺少gcc: 执行
yum -y install gcc automake autoconf libtool make
安装gcc。 - 缺少jemalloc: 执行
make MALLOC=libc
使用libc分配器。
Redis的启动
Redis编译完成后,会生成几个可执行文件,如redis-server和redis-cli。Redis有三种启动方式:默认配置、带参数启动、配置文件启动。
默认配置
在bin目录下直接输入./redis-server
启动Redis,使用默认配置。
带参数启动
使用redis-server
加上要修改配置名和值。例如,使用6380端口启动Redis:
./redis-server --port 6380
配置文件启动
配置文件启动是最常用的方式,配置文件可以方便地修改端口、配置和增加密码。
./redis-server ../conf/redis.conf
通过配置文件启动可以自定义多种配置项,如修改端口、设置密码等。
# 例:设置密码
requirepass yourpassword
以上是Redis的入门与应用,包括技术全景、应用场景、版本选择与安装以及启动方式。理解这些内容将帮助你更好地掌握Redis并应用到实际项目中。