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

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 加端口号来自定义端口号

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

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

      • /etc/redis:存放redis的配置文件
      • /var/redis/6379:存放redis的持久化文件
    3. 修改配置文件。 将源代码文件中的redis.conf复制到/etc/redis目录中,命名为6379.conf,修改如下

      参数说明
      daemonizeyesredis以守护进程模式运行
      pidfile/var/run/redis_6379.pid设置redis的PID文件位置
      port端口号设置redis监听的端口号
      dir/var/redis/6379设置持久化文件存放位置
    4. 使用/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入门指南》第二版

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值