您的位置:首页 > 数据库 > Redis

Redis 学习笔记(一)安装与配置

2017-03-06 17:29 519 查看

Redis 学习笔记(一)

Redis是一个开源的、高性能的、基于键值对的缓存与存储系统,Redis是REmote DIctionary Server(远程字典服务器)的缩写。

1. 下载安装

wget http://download.redis.io/redis-stable.tar.gz   //下载,拷贝到/usr/local写
tar -xzvf redis-stable.tar.gz   //解压
cd redis-stable //进入解压目录
make    //编译安装
make install    //将可执行程序赋值到/usr/local/bin目录中,当执行程序中就不要输入完整的路径
make test   //测试redis是否编译正确


2. 启动和停止Redis

在执行完make install命令后,在/usr/local/bin 目录下就会生成可执行文件

文件名说明
redis-serverRedis服务器
redis-cliRedis命令行客户端
redis-benchmarkRedis性能测试工具
redis-check-aofAOF文件修复工具
redis-check-rdbRDB文件检查工具
redis-sentinelSentinel服务器

2.1 启动Redis

直接启动(开发环境)

直接运行redis-server即可启动redis

启动界面有如下信息:
Redis 3.2.8 (00000000/0) 64 bit

Running in standalone mode  //单机运行模式
Port: 6379  //端口号6379
PID: 15448  //进程PID15448


通过–port 加端口号来自定义端口号

通过初始化脚本启动(生产环境)

配置初始化脚本。将redis源码目录下的utils目录中的
redis_init_script
初始化脚本拷贝到
/etc/init.d
,修改文件名为redis_6379。

建立目录。

/etc/redis:存放redis的配置文件

/var/redis/6379:存放redis的持久化文件

修改配置文件。 将源代码文件中的redis.conf复制到/etc/redis目录中,命名为6379.conf,修改如下

参数说明
daemonizeyesredis以守护进程模式运行
pidfile/var/run/redis_6379.pid设置redis的PID文件位置
port端口号设置redis监听的端口号
dir/var/redis/6379设置持久化文件存放位置
使用/etc/init.d/redis_6379 start启动redis,执行
sudo update-rc.d redis_6379 defaults
命令使其开机自启

如果出现
insserv: warning: script ‘redis6379′ missing LSB tags and overrides
的报错,则在
/etc/init.d/redis_6379
文件中添加如下:

### BEGIN INIT INFO
# Provides:          redis6379
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: redis6379
# Description:       penavico redis 6379
### END INIT INFO


然后在执行
sudo update-rc.d redis_6379 defaults
命令使其开机自启,执行
service redis_6379 start
启动服务,检查服务是否启动
sudo lsof -i:6379
,启动成功如下:

➜  redis sudo lsof -i:6379
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 16316 root    4u  IPv4 189448      0t0  TCP localhost:6379 (LISTEN)


2.3 停止redis

强行终止redis进程会导致数据丢失,因此应该正确停止redis,发送命令:

redis-cli SHUTDOWN


或者使用
kill
命令结束redis进程,效果同上。

3. 命令返回值

状态回复:直接返回状态信息,包括PING命令

127.0.0.1:6379> PING
PONG
127.0.0.1:6379> SET 'test' 1
OK


错误回复:以(errno)开头并且跟上错误信息

127.0.0.1:6379> TESTERR
(error) ERR unknown command 'TESTERR'


整数回复:以(integer)开头并且跟上整数数据

127.0.0.1:6379> DBSIZE
(integer) 1


字符串回复:以双引号包裹

127.0.0.1:6379> GET test
"1"
127.0.0.1:6379> GET testtest
(nil)                   //表示没有值,空结果


多行字符串回复:每一行字符都以一个序号开头

127.0.0.1:6379> KEYS *  //当前数据库存在的键名
1) "hello"
2) "TEST"
3) "test"


4. 配置

4.1 动态配置

通过CONFIG SET name value命令修改

127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"
127.0.0.1:6379> CONFIG SET loglevel warning
OK
127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "warning"
//第一行字符串表示选项名,第二行即是选项值


4.2 redis配置文件redis.conf选项

连接选项

bind 127.0.0.1 //默认绑定主机地址
port 6379   //默认端口
timeout 0   //当客户端闲置多久后关闭连接,0代表没有启动该选项
loglevel notice //日志的记录级别
// debug (很详细的信息 ,适合开发和测试)
// verbose (包含不太有用的信息)
// notice (适合生产环境)
// warning (警告信息)
logfile ""  //日志的记录方式,默认为标准输出
databases 16    //默认数据库数量为16个,编号从0到15


快照选项(SNAPSHOTTING)

save <seconds> <changed>    //多少sec至少有多少个changed才将其同步到磁盘中的数据文件里
save 900 1  //900秒(15分钟)至少有1次
save 300 10 //300秒(5分钟)至少有10次
save 60 10000   //60秒(1分钟)至少有10000次

rdbcompression yes  //存储本地数据库是否启用LZF压缩,默认yes
dbfilename dump.rdb //指定本地数据库文件名,默认为dump.rdb
dir ./      //指定本地数据库的存放目录,默认是当前目录


5. 多数据库

从redis.conf文件可以看到redis默认有16个数据库,redis启动连接后会自动选择0号数据库,不过可以SELECT命令更换数据库

127.0.0.1:6379> SELECT 15
OK
127.0.0.1:6379[15]>


注:本文参考《redis入门指南》第二版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息