赞
踩
缓存在高性能的企业分布式应用中扮演着至关重要的作用,而 Redis 是缓存中间件中的佼佼者。本文总结了 Redis 服务器的安装(CentOS/Windows环境),Redis 常用命令及其界面工具的使用。
作者:王克锋
出处:https://kefeng.wang/2017/08/10/redis-installation/
版权:自由转载-非商用-非衍生-保持署名,转载请标明作者和出处。
Redis=REmote DIctionary Server,是一个由Salvatore Sanfilippo写的key-value存储系统。
是一个BSD协议开源的、使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Map), 列表(List), 集合(Sets) 和 有序集合(Sorted Sets)等类型。
V4.0.8,发布于 2008-02-02。下载源码,编译。
## https://redis.io/download
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
sudo tar xzf redis-4.0.8.tar.gz -C /opt
cd /opt/redis-4.0.8
sudo make ## create $REDIS_HOME/src/redis-*
sudo make install ## create linker /usr/local/bin/redis-*
## sudo vim /etc/profile ## 所有用户有效
export REDIS_HOME=/opt/redis-4.0.8
export PATH=$PATH:$REDIS_HOME/bin
文件保存后,Linux用户重新登录后生效。
此脚本是为了封装程式化操作,以便接下来在单机实验多个 Redis 实例时,对每个实例(端口)重复执行。
所依赖脚本源码在这里:utils/install_server.sh
## sudo vim $REDIS_HOME/utils/install_server_x.sh
## sudo chmod +x $REDIS_HOME/utils/install_server_x.sh
sudo REDIS_PORT=$1 \
REDIS_CONFIG_FILE=/etc/redis/$1.conf \
REDIS_LOG_FILE=/var/log/redis_$1.log \
REDIS_DATA_DIR=/var/lib/redis/$1 \
REDIS_EXECUTABLE=`command -v redis-server` \
$REDIS_HOME/utils/install_server.sh
将来执行 install_server_x.sh 6379
(参数为服务监听端口号),会完成以下操作:
如果需要设置 Redis 客户端连接的密码,则调整模板文件(假设密码为 passwd):
$REDIS_HOME/redis.conf
:设置为 requirepass passwd
$REDIS_HOME/utils/redis_init_script.tpl
:修改为 $CLIEXEC -a passwd -p $REDISPORT shutdown
如果服务安装之前忘记了调整模板文件,则要在服务安装后手工调整:
/etc/redis/{PORT}.conf
/etc/init.d/redis_{PORT}
net.core.somaxconn
,默认值为 128)。echo "net.core.somaxconn=1024" | sudo tee -a /etc/sysctl.conf ## 永久有效
sudo sysctl -p ## 立即生效
sudo sysctl net.core.somaxconn ## 查看结果
echo "vm.overcommit_memory=1" | sudo tee -a /etc/sysctl.conf ## 永久有效
sudo sysctl -p ## 立即生效
sudo sysctl vm.overcommit_memory ## 查看结果
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled ## 立即生效
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" | sudo tee -a /etc/rc.local ## 永久生效
执行命令 $REDIS_HOME/utils/install_server_x.sh 6379
,
自动生成配置文件 /etc/redis/6379.conf
,关键内容如下(可参考我的文章 Redis 服务器配置参数详解):
port 6379 ## 服务监听端口号
daemonize yes ## 守护进程模式,否则启动时卡死而超时
requirepass passwd ## 客户端连接时的密码
pidfile /var/run/redis_6379.pid ## 必须与 redis.service 一致
logfile /var/log/redis_6379.log ## 必须指定绝对路径
dir /var/lib/redis/6379 ## 数据目录
服务已设置为开机自动启动。如果参数调整后想立即生效,则要手工启停:
sudo service redis_6379 stop ## 停止
sudo service redis_6379 start ## 启动
sudo service redis_6379 restart ## 重启
/etc/init.d/redis_6379 status ## 查看服务运行状态
redis-cli -a passwd info server ## 查看服务信息
如果非本机客户端需要连接 Redis,必须把监听端口放行。
### sudo vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
### 重启生效: sudo systemctl restart iptables
除了服务监听端口,服务监听地址,也要根据客户端情况调整:
bind 127.0.0.1
,只允许本机连接,最安全bind 192.x.x.x
,只允许本机和局域网连接bind 0.0.0.0
,允许所有机器连接,最不安全Redis 命令请查阅 Redis 客户端命令参考
[admin@centos] /home/admin $ redis-cli -a passwd
127.0.0.1:6379> keys *
127.0.0.1:6379> quit
如果要重新安装,则需要先卸载。
所谓卸载,就是对安装动作的撤消操作:utils/install_server.sh
## 卸载服务,每个实例(端口)的服务都要停止、卸载
# sudo chkconfig --list
sudo service redis_6379 stop
sudo chkconfig --del redis_6379
## 删除文件
sudo rm -rf /etc/redis ## {port}.conf
sudo rm -rf /var/lib/redis ## dump.rdb
sudo rm -rf /var/{run,log}/redis_*.*
sudo rm -rf /usr/local/bin/redis-*
sudo rm -rf $REDIS_HOME
注意:Redis 官方没有 Windows 版本,只能从 MicrosoftArchive 下载。
Windows 版不稳定,而且好久不更新,建议仅用于 Windows 试验环境。
V3.0.504,发布于 2006-07-01。最新版本
可采用绿色版,解压至 {???}\Redis-x64-3.0.504
{???}\Redis-x64-3.0.504\redis.windows.conf
## 需要修改的参数
daemonize yes # 以后台方式启动(否则服务启动时会超时)
bind 127.0.0.1 # 绑定的主机(默认为0.0.0.0):尽量缩小范围
maxclients 32 # 客户端最大并发数(0为不限)
maxmemory 10485760 # 指定最大内存 10M(达到时清除过期或早期)
requirepass passwd # 设置 client/slave 连接时的密码(AUTH passwd提供)
## 日志级别(debug / verbose / notice[默认] / warning)和文件
loglevel verbose
logfile redis.log
## 无需修改的参数
port 6379 # 监听端口:建议默认不要修改
timeout 0 # 客户端闲置关闭时长(秒), 0表示不超时
loglevel notice # 日志级别, debug, verbose, notice(默认), warning
save [s] [n] # s 秒内有 n 次更新操作,就同步至数据文件
rdbcompression yes # 存储前压缩(省空间但耗时)
## 主从相关参数
slaveof <masterip> <masterport> # 自身作为slave, 指定master的host:port
masterauth <master-password> # 自身作为slave, 指定master的密码
cd /d {???}\Redis-x64-3.0.504
redis-server.exe redis.windows.conf # 如果不指定配置文件,则不加载任何配置,采用默认配置
CTRL+C 退出,或者关闭 DOS 窗口
redis-cli.exe # host:port 可缺省为 localhost:6379
redis-cli.exe -h localhost -p 6379 -a passwd
参考资料:Running Redis as a Service
## 【以“管理员权限”(避免多次询问)打开 cmd.exe 再执行】
cd /d "{???}\Redis-x64-3.0.504"
## 默认服务名为 Redis,可自定义: --service-name RedisNew
## 【不推荐】可指定日志级别,覆盖配置文件的定义:--loglevel notice
redis-server.exe --service-install redis.windows.conf
## 服务安装后,Windows 启动时服务会自动启动,但本次必须手工启动:
redis-server.exe --service-start
## 如需停止与卸载,执行:
redis-server.exe --service-stop
redis-server.exe --service-uninstall
以 GUI 方式更方便地查看、操作 Redis 数据。
Download Redis Desktop Manager
redis-desktop-manager-0.9.0.684.exe
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。