• 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

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)
  • 多行字符串回复,每行字符串以一个序号开头