我的CSDN也记录了,可以支持一下:
https://blog.csdn.net/qq_44870331/article/details/115616423
复制
1 下载
wget https://download.redis.io/releases/redis-6.2.1.tar.gz
复制
2 解压
tar -zxvf redis-6.2.1.tar.gz
复制
3 创建快链(软连接)
ln -s redis-6.2.1 redis (或者直接改: mv redis-6.2.1 redis)
复制
4 进入redis目录
cd redis
复制
5 开始编译:
make
复制
5.1 如果编译出错:
解决:查看 gcc 版本:
gcc -v
复制
升级版本:
yum -y install centos-release-scl
复制
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bash
复制
再执行make编译,成功安装如下:
6 编译安装:
make install
复制
7 修改配置文件:
vi redis.conf
复制
(按Esc退出编辑模式下:/protected-mode 即可搜索)
protected-mode no # 关闭保护模式
复制
daemonize yes # 守护进程模式开启
复制
#bind 127.0.0.1 # 绑定IP按需修改,bind指定网段远程访问redis,注释就没有限制了。
复制
port 6379 # 端口(单机默认,集群按需修改)
复制
requirepass 123456 # (搜/requirepass foobared)设置Redis密码
复制
(云服务器一定要设置密码!容易被注入了挖矿病毒!)
8 redis启动:进入src目录
cd src
复制
启动命令:(启动命令+配置文件+后台启动)
./redis-server opt/shaw0916/redis/redis.conf &
复制
(查看进程命令)
ps -ef | grep redis
复制
自带的客户端连接测试:
./redis-cli -h 127.0.0.1 -p 6379 -a 123456
复制
(连接命令+IP+端口号+密码)
远程工具连接测试:
redis-cli shutdown
复制
#Redis的关闭命令
9 相关文件解析:
redis-server 服务器启动命令
redis-cli 客户端启动命令
redis.conf redis核心配置文件
redis-check-dump RDB文件检查工具(快照持久化文件)
redis-check-aof AOF文件修复工具
复制
10 开机自启配置
10.1 etc目录下创建redis目录
mkdir etc/redis
复制
10.2 将redis配置文件拷贝一份到etc/redis目录下
cp redis.conf etc/redis/6379.conf
复制
10.3 文件赋权,避免文件执行无权限
chmod 755 etc/redis/6379.conf
复制
10.4 然后进入/redis/utils 目录下有启动脚本redis_init_script 拷贝并改名为redis
cp redis_init_script etc/init.d/redis
复制
10.5 修改redis脚本
vi etc/init.d/redis
复制
首行添加:
#chkconfig: 2345 10 90
#description: Start and Stop redis
复制
修改相应启动服务位置
EXEC=/opt/shaw0916/redis/src/redis-server
CLIEXEC=/opt/shaw0916/redis/src/redis-cli
复制
如下图:
详细文件:
#!/bin/sh
# chkconfig: 2345 10 90
# description: Start and Stop redis
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6379
PASSWORD=123456
EXEC=/opt/shaw0916/redis/src/redis-server
CLIEXEC=/opt/shaw0916/redis/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Redis服务启动..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -a $PASSWORD -p $REDISPORT shutdown
while [ -x proc/${PID} ]
do
echo "Redis服务关闭错误..."
sleep 1
done
echo "Redis服务关闭成功..."
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
复制
10.6 开启开机自启
chkconfig redis on
复制
10.7 可以先测试一下启动和关闭是否正常
service redis start
复制
service redis stop(会提示命令行加入密码不安全,后续想到解决办法再补上)
复制
10.8 reboot重启主机,查看redis是否开机自启
ps -ef | grep redis
复制
10.9 TODO
//待解决
如果bind了服务器IP,关闭Redis服务的时候,总是会默认关闭127.0.0.1.....
11 一些操作记录:
Redis默认有16个数据库 默认使用第0个
set key xx #设置值
get key #获得值
SELECT 3 #切换数据库
DBSIZE #查看数据库大小
keys * #获得所有的key
APPEND key yy #追加字符串,(不存在就相当于set)
STRLEN key #获取字符串长度
flushdb #清除当前数据库
flushall #清除全部数据库
EXISTS name #判断当前的key是否存在
move name 1 #移除当前的key
EXPIRE name 10 #设置key的过期时间,单位为秒
type name #查看当前key 的类型
复制
i++:
set views 0 (初始浏览量为0)
incr views #自增1
decr views #自减1
INCRBY views 10 #设置步长,指定增量
DECRBY views 5 #指定减量
复制
字符串范围:range
set key 1
GETRANGE key1 0 3 #截取字符串[0,3]
GETRANGE key1 0 -1 #获取全部字符串 和 get key 是一样的
DECRBY views 5 #指定减量
复制
感谢阅览,点个关注吧~
复制
文章转载自小湘笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
深入理解分布式锁:原理、应用与挑战
京东云开发者
46次阅读
2025-03-11 15:50:54
如何使用 RisingWave、Kafka 和 Redis 构建实时推荐引擎
RisingWave中文开源社区
42次阅读
2025-03-10 10:30:31
融合Redis缓存的PostgreSQL高可用架构
梧桐
41次阅读
2025-04-08 06:35:40
缓存监控治理在游戏业务的实践和探索
vivo互联网技术
39次阅读
2025-03-20 09:51:10
Redis 集群主备切换原因分析
wzf0072
34次阅读
2025-03-20 17:51:42
Redis Cluster集群模式:构建大规模高性能分布式存储系统
老王两点中
31次阅读
2025-03-17 09:00:28
拼多多二面:高并发场景扣减商品库存如何防止超卖?
码哥跳动
30次阅读
2025-03-11 08:36:28
Redis 高可用方案
天翼云开发者社区
28次阅读
2025-03-24 17:09:54
高并发场景下的库存管理,理论与实战能否兼得?
京东云开发者
17次阅读
2025-03-24 16:54:56
Redis Sentinel模式:构建高可用Redis集群
老王两点中
14次阅读
2025-03-14 09:01:04