前言
接下来我们要开始安装并初步使用redis
安装redis
这里我还是建议不要在windows上尝试安装redis, 自己使用虚拟机安装一个linux系统(centos或者Ubuntu都是不错的选择), 我这里使用的是VM安装的centos系统, centos的版本是
版本说明
redis的版本规则是: 次版本(小数点后的一位)为偶数的版本是稳定版(如:2.4, 2.6), 奇数的这是非稳定的版本(如:2.5, 2.7)
在linux上安装
推荐下载稳定的版本, 建议自己去官网下载安装包, 自行选择稳定的版本, 不建议使用apt或者yum这种形式安装redis, 我这里安装最新的稳定版本3.0.7, 这个版本支持集群, 也就是分布式特性的redis1
2
3
4
5wget http://download.redis.io/releases/redis-3.0.7.tar.gz
cd redis-3.0.7
make
make install
make test
启动和停止redis
redis有一些可执行文件, 如下表:
但是最常用的就是redis-server
和 redis-cli
redis-server: 管理redis服务(启停redis服务)
redis-cli: redis的命令行客户端
在我们使用make install
命令之后, redis中的这些程序会自动复制到/usr/local/bin/
目录下面, 所以直接在命令行中可以直接使用这些程序, 不需要额外的配置
启动redis
直接启动
这种情况适用于开发环境中, 使用redis-server
redis-server --port 6379
这里指定了端口号, 6379就是redis默认的端口号
使用初始化脚本启动
在redis源代码中已经给我们提供了一个初始化脚本模版: /redis-3.0.7/utils/redis_init_script
, 内容其实很简单
复制初始化脚本模版到
/etc/init.d/
1
cp redis_init_script /etc/init.d/redis_6379
复制配置文件到
/etc/redis/
redis源代码中有redis的配置文件/redis-3.0.7/redis.conf
1
2mkdir /etc/redis
cp /redis-3.0.7/redis.conf /etc/redis/6379.conf修改redis配置文件
可以根据自己的需求进行更改相关配置
我们为了让redis在后台运行, 需要修改daemonize=yes
默认是no的启动
1
/etc/init.d/redis_6379 start
随系统自动启动
1
chkconfig redis_6379 on
执行之后会出现service redis_6379 does not support chkconfig
在redis_6379
的最前面加入下面两行, 再执行一遍就ok了1
2# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
停止
由于强行停止redis会导致内存中的数据不能同步到硬盘, 所以应该使用正确的方式停止redis:1
redis-cli SHUTDOWN
redis命令行客户端
我们开始使用redis-cli
来学习使用redis
发送命令
现在有两种模式, 一种是将命令作为redis-cli的参数执行, 一种是交互模式
命令参数模式
1
2
3
4# 连接redis, 是不是和mysql很像
redis-cli -h 127.0.0.1 -p 6379
# 测试客户端和redis服务的连接, 如果返回PONG, 则表示正常
redis-cli ping交互模式
命令返回值
执行一条命令, 返回值我们很关系, 命令的返回值有5种类型
- 状态回复
最简单, 如上面的ping执行返回PONG - 错误回复
- 整数回复
- 字符串回复
最常见类型, 如果结果是空,则返回(nil) - 多行字符串回复
配置
redis启动服务的时候就可以自定额外的配置文件, 会覆盖原来的配置文件, 另外还可以使用命令行方式修改配置文件(部分)
多数据库
我们试着用图形化客户端连接虚拟机中的redis
开启远程访问
要远程连接redis, 需要配置两个地方
- 修改config
修改bind 0.0.0.0
- 添加6379端口到防火墙
1
2
3
4
5vi /etc/sysconfig/iptables
# 添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
# 重启防火墙
service iptables restart
redis desktop manager
多数据库
我们很直观的看到, redis中有16个数据库, 名字从0到15, 客户端与redis建立连接后会自动选择0号数据库