前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >企业实战(3) Redis服务部署和配置详解

企业实战(3) Redis服务部署和配置详解

作者头像
非著名运维
发布2022-06-22 14:44:15
4020
发布2022-06-22 14:44:15
举报
文章被收录于专栏:非著名运维

前言:

在这里插入图片描述

环境介绍:

代码语言:javascript
复制
CentOS 7.5
Redis 5.0.0
gcc

下载:

http://download.redis.io/releases/

安装redis:

代码语言:javascript
复制
[root@localhost ~]#yum -y install gcc

[root@localhost ~]# mkdir redis

[root@localhost redis]# wget http://download.redis.io/releases/redis-5.0.0.tar.gz

[root@localhost ~]# cd redis/

[root@localhost redis]# tar -xvf redis-5.0.0.tar.gz 
redis-5.0.0/
redis-5.0.0/.gitignore
redis-5.0.0/00-RELEASENOTES
...
[root@localhost redis]# ls
redis-5.0.0  redis-5.0.0.tar.gz

[root@localhost redis]# cd redis-5.0.0

[root@localhost redis-5.0.0]# make && make install
...
make[1]: 离开目录“/root/redis/redis-5.0.0/src”
make[1]: 进入目录“/root/redis/redis-5.0.0/src”

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
make[1]: 离开目录“/root/redis/redis-5.0.0/src”

初始化配置:

代码语言:javascript
复制
[root@localhost redis-5.0.0]# ./utils/install_server.sh  //一路回车
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] 
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] 
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] 
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] 
Selected config:
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

管理服务:

代码语言:javascript
复制
[root@localhost redis-5.0.0]# /etc/init.d/redis_6379 stop  //停止服务

[root@localhost redis-5.0.0]# /etc/init.d/redis_6379 start  //启动服务

[root@localhost redis-5.0.0]# ps -C redis-server   //查看进程
   PID TTY          TIME CMD
 14540 ?        00:00:00 redis-server

[root@localhost redis-5.0.0]# ss -antulp | grep :6379   //查看端口
tcp    LISTEN     0      128    127.0.0.1:6379                  *:*                   users:(("redis-server",pid=14540,fd=6))

连接服务:

代码语言:javascript
复制
[root@localhost redis-5.0.0]# redis-cli 
127.0.0.1:6379> set name bob    //存储数据,变量名为name,值为bob
OK
127.0.0.1:6379> get name    //查看变量name的值
"bob"
127.0.0.1:6379> keys *       //查询已有的变量
1) "name"
127.0.0.1:6379> exit

常用命令:

代码语言:javascript
复制
- set 变量名 变量值                 //存储1个变量值
- mset 变量名 变量值 变量名 变量值...      //存储多个变量值
- get 变量名                   //查询1个变量的值
- mget 变量名                 //查询多个变量的值
- select 数据库编号0-15(默认只有16个库)      //切换库
- keys *                  //显示所有的变量名
- keys ?                  //显示只有一个字符的变量名
- keys a?                //显示以a开头的2个字符的变量名
- exists 变量名            //测试某个变量是否存在
- ttl 变量名               //查看变量生存时间(-1为永久生存)
- type 变量名               //查看变量的类型
- move 变量名 数据库编号   //移动某变量到指定库中
- expire 变量名 时间       //设置变量的有效时间
- del 变量名              //删除指定的变量
- flushall                //删除内存里所有的变量
- flushdb               //删除所在的库中的所有变量
- save                 //保存所有变量到硬盘中
- shutdown            //停止redis服务

常用配置项:

代码语言:javascript
复制
[root@ku1-50 ~]# vim /etc/redis/6379.conf
93  port 6379                //端口
70  bind 127.0.0.1           //IP地址
137 daemonize yes            //守护进程方式运行
187 databases 16             //数据库个数
172 logfile /var/log/redis_6379.log     //日志文件
533 # maxclients 10000           //并发连接数量
264 dir /var/lib/redis/6379      //数据库目录

内存管理:

在这里插入图片描述  默认使用noeviction清除策略。

优化设置:

代码语言:javascript
复制
[root@localhost redis-5.0.0]# vim /etc/redis/6379.conf
560 # maxmemory <bytes>           
                //最大内存
598 # maxmemory-policy noeviction    
               //默认使用的内存清除策略为noeviction
609 # maxmemory-samples 5    
              //默认选取变量(key)模板的个数(针对lru、ttl策略)为5个

连接配置:

代码语言:javascript
复制
[root@localhost redis-5.0.0]# vim /etc/redis/6379.conf
70 bind 192.168.2.159         //IP地址
93 port 6379                  //端口
508 requirepass 123456        //密码

[root@localhost redis-5.0.0]# /etc/init.d/redis_6379 stop

[root@localhost redis-5.0.0]# /etc/init.d/redis_6379 start

[root@localhost redis-5.0.0]# redis-cli    //未携带修改的参数
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>
注意:如果在配置文件中修改了密码、端口、IP地址,那么在连接redis服务的时候必须带上更改的参数才可以连接上服务。

--明文密码连接
[root@localhost redis-5.0.0]# redis-cli -h 192.168.2.159 -a 123456       //密码明文连接
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.2.159:6379> keys *
1) "name"
192.168.2.159:6379> exit

--交互式密码连接
[root@localhost redis-5.0.0]# redis-cli -h 192.168.2.159   
192.168.2.159:6379> keys *         //不输入密码无法进行操作
(error) NOAUTH Authentication required.
192.168.2.159:6379> auth 123456
OK
192.168.2.159:6379> keys *
1) "name"
192.168.2.159:6379> exit

注意:

 在修改了以上三种参数(密码、端口、IP地址)中的任意一种后,都无法再使用脚本来停止服务(启动服务不影响),需要对脚本进行修改。

代码语言:javascript
复制
[root@localhost ~]# /etc/init.d/redis_6379 stop
Stopping ...
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...    //已经使用脚本无法停止服务了

[root@localhost ~]# ss -antulp | grep :6379
tcp    LISTEN     0      128    192.168.2.159:6379                  *:*                   users:(("redis-server",pid=14558,fd=6))
代码语言:javascript
复制
[root@localhost ~]# redis-cli -h 192.168.2.159 -a 123456 shutdown      
           //只能这样停止redis服务

[root@localhost ~]# ss -antulp | grep :6379

修改停止服务脚本

代码语言:javascript
复制
[root@localhost ~]# vim /etc/init.d/redis_6379
43  $CLIEXEC -p $REDISPORT shutdown
         ↓↓↓↓根据更改的参数将以上配置修改为↓↓↓↓
43 $CLIEXEC -h 192.168.2.159 -p 6379 -a 123456 shutdown

[root@localhost ~]# /etc/init.d/redis_6379 stop  //使用脚本停止服务
Stopping ...
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
Redis stopped

[root@localhost ~]# ss -antulp | grep :6379   //停止服务成功

[root@localhost ~]# /etc/init.d/redis_6379 start
Starting Redis server...

[root@localhost ~]# ss -antulp | grep :6379
tcp    LISTEN     0      128    192.168.2.159:6379                  *:*                   users:(("redis-server",pid=14649,fd=6))
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 非著名运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 环境介绍:
  • 下载:
  • 安装redis:
  • 初始化配置:
  • 管理服务:
  • 连接服务:
  • 常用命令:
  • 常用配置项:
  • 内存管理:
  • 优化设置:
  • 连接配置:
  • 注意:
相关产品与服务
云数据库 Redis®
腾讯云数据库 Redis®(TencentDB for Redis®)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档