- 1 Redis简介
- 2 Redis环境
- 2.1 安装Redis
- 2.2 启动和停止Redis
- 3 Redis配置
- 4 Redis命令行客户端
参考资料:
1. 菜鸟教程 ☞ Redis教程
2. Redis实战
3. Redis入门指南
Redis是一个开源的高性能键值对数据库,它通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色。
1 Redis简介
Redis是REmote DIctionary Server(远程字典服务)的缩写,以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。
Redis数据库中的所有数据都存储在内存中,因此Redis在性能上对比其他基于磁盘存储的数据库有明显性能优势。同时针对内存数据程序退出后丢失的问题,提供了持久化支持,可以将内存中的数据异步写入到磁盘中,同时不影响继续提供服务。
Redis可以存储键与5种不同数据结构类型之间的映射,这5中数据结构类型分别为STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)和ZSET(有序集合)。
表1-1 Redis提供的5种结构
结构类型 | 结构存储的值 | 结构的读写能力 | 特性 | 场景 |
STRING | 字符串、整数或浮点数 | 对整个字符串或者字符串的一部分执行操作,对整数或浮点数执行自增或自减操作 | 可以包含任何数据,一个键最大能存储512M | |
LIST | 链表,链表上的每个节点包含一个字符串 | 从列表的两端推入或弹出元素,根据偏移量对链表进行修剪,读取单个或者多个元素,根据值查找或者移除元素 | 增删快,提供了操作某一段元素的API | 1.最新消息排行等功能; 2.消息队列。 |
SET | 包含无重复字符串的无序收集器 | 添加、获取、移除单个元素,检查一个元素是否存在于集合中,计算交集、并集、差集,从集合里面随机获取元素 | 1.添加、删除、查找的复杂度都是O(1); 2.为集合提供了求交集、并集、差集等操作 | 1.共同好友; 2.利用唯一性,统计访问网站的所有独立ip; 3.好友推荐时,根据tag求交集,大于某个阈值就可以推荐。 |
HASH | 包含键值对的无序散列表 | 添加、获取、移除单个键值对,获取所有键值对 | 适合存储对象,并且可以像数据库中UPDATE一个属性一样只修改某一项属性值 | 存储、读取、修改用户属性 |
ZSET | 字符串成员与浮点数分值之间的有序映射,元素的排列顺序由分值的大小决定 | 添加、获取、删除单个元素,根据分值范围或者成员来获取元素 | 数据插入集合时,已经进行天然排序 | 1.排行榜; 2.带权重的消息队列。 |
2 Redis环境
2.1 安装Redis
- 第一步:下载 Redis
- 第二步:安装 Redis
// 解压到目标文件夹
# tar -xvf redis-4.0.9.tar.gz -C /lqy
// 打开相关文件夹
# cd /lqy/redis-4.0.9
// 编译
# make
// 复制快捷命令
# make install
- 第三步:测试
# src/redis-server
//另一个Terminal
# redis-cli
# ping
2.2 启动和停止Redis
表2-1 Redis可执行文件说明
文件名 | 说明 |
redis-server | Redis服务器 |
redis-cli | Redis命令行客户端 |
redis-benchmark | Redis性能测试工具 |
redis-check-aof | AOF文件修复工具 |
redis-check-dump | RDB文件检查工具 |
- 直接启动Redis:
redis-server
- 注意: Redis服务器默认会使用6379端口,通过–port参数可以自定义端口号
- 通过初始化脚本启动Redis:在Linux系统中可以通过初始化脚本启动Redis,使得Redis能随系统自动运行,在生产环境中推荐使用此方法运行Redis。在Redis源代码目录的utils文件夹中有一个名为redis_init_script的初始化脚本文件。在使用脚本前,我们需要配置Redis的运行方式和持久化文件、日志文件存储位置等
- 配置初始化脚本:首先将初始化脚本复制到/etc/init.d目录中,文件名为redis_端口号,其中端口号表示要让Redis监听的端口号,客户端通过该端口连接Redis,然后修改脚本REDISPORT变量的值为同样的端口号。
- 建立需要的文件夹:
- /etc/redis:存放Redis的配置文件
- /var/redis/端口号:存放Redis的持久化文件
- 修改配置文件:首先将配置文件模板复制到/etc/redis目录中,以端口号命名,然后修改参数
- 自动启动Redis:sudo update-rc.d redis_端口号 defaults
- 停止Redis:redis-cli SHUTDOWN
3 Redis配置
- Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。可以通过 CONFIG 命令查看或设置配置项。语法结构为:
- 获取配置信息:
CONFIG GET CONFIG_SETTING_NAME|*
- 设置配置信息:
CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
- 常见配置说明:Redis配置参数说明
4 Redis命令行客户端
- 发送命令:
- 第一种:
redis-cli
,连接本地Redis,之后输入多条命令 - 第二种:
redis-cli -h localhost -p 6379
,连接指定位置Redis(无密码),之后输入多条命令 - 第三种:
$ redis-cli -h host -p port -a password
,连接指定位置Redis(有密码),之后输入多条命令 - 注意: redis-cli之后可以接命令作为参数执行
- 命令返回值:
- 状态回复,显示状态信息
- 错误回复,以‘(error)’开头,并在后面跟上错误信息
- 整数回复,以‘(integer)’开头,并在后面更上整数数据,表明命令执行后的结果
- 字符串回复,以双引号包括,一般在请求元素值时得到一个字符串回复,当请求的键值不存在的时候会得到一个空结果(nil)
- 多行字符串回复,每行字符串以一个序号开头