系列文章目录
前言
好久没有更新博客了,今天下了班回到家,看到电脑桌上尘封已久的《Spring Boot应用开发实战》,翻开目录想起来之前写的系列【Linux服务器Java环境搭建】还未完结,那就继续吧,今天主要是按linux服务器中安装和配置redis。
一、redis是什么?
Redis 是一个开源的 (BSD 许可) 内存中数据结构存储,用作数据库、缓存和消息代理。它支持多种数据结构,如字符串、散列、列表、集合、有序集合、位图、超日志、地理空间索引和流。Redis 的全称是 "Remote Dictionary Server"(远程字典服务器)。
-
内存存储:Redis 主要在内存中进行数据存储,虽然也可以将数据持久化到磁盘。内存存储使得 Redis 具有极高的读写性能,常用于缓存应用场景。
-
丰富的数据结构:Redis 支持多种数据结构,除了简单的键值对(字符串),还包括哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)、位图(bitmaps)和 hyperloglogs 等。
-
持久化:虽然 Redis 是内存数据库,但它提供了持久化功能,可以将内存中的数据定期保存到磁盘。Redis 提供两种持久化方式:RDB 快照(Redis Database)和 AOF(Append Only File)。
-
发布/订阅:Redis 支持发布/订阅(Pub/Sub)模式,可以用于构建实时消息系统。
-
Lua 脚本:Redis 支持 Lua 脚本,允许在服务器端执行复杂的操作,减少网络开销和提高性能。
-
高可用和分布式:Redis 提供了主从复制、哨兵(Sentinel)和 Redis 集群等功能,实现高可用性和数据分片,适用于大规模分布式系统。
-
事务:Redis 支持事务,通过 MULTI、EXEC、WATCH 等命令可以实现事务功能。
-
内置复制:Redis 支持主从复制,可以将数据从一个主节点复制到多个从节点,以实现数据冗余和负载均衡。
二、下载及安装
1.redis下载
下载地址:Downloads - Redis
2.redis安装
A.将安装包通过xftp上传到服务器目录/root/lzh/
B.在目录 /usr/local/ 下创建 redis ⽂件夹并进⼊
[root@lzh-2024 mysql]# cd /usr/local/
[root@lzh-2024 local]# mkdir redis
[root@lzh-2024 local]# cd redis
C.将刚下下载的Redis 安装包解压到 /usr/local/redis 中
[root@lzh-2024 redis]# tar zxvf /lzh/redis-stable.tar.gz -C ./
解压完之后, /usr/local/redis ⽬录中会出现⼀个 redis-stable 的⽬录
D.编辑及安装
定位到目录/usr/local/redis/redis-stable,执行如下命令编译并安装redis
[root@lzh-2024 redis]# cd redis-stable/
[root@lzh-2024 redis-stable]# make && make install
二、配置
1.redis配置
A.将 REDIS 安装为系统服务并后台启动
进⼊ utils ⽬录,并执⾏如下命令./install_server.sh
[root@lzh-2024 redis-stable]# cd utils/
[root@lzh-2024 utils]# ./install_server.sh
执行后,提示如下信息
Welcome to the redis service installer
This script will help you easily set up a running redis server
This systems seems to use systemd.
Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!
解决方案如下
编辑文件install_server.sh ,执行命令
[root@lzh-2024 utils]# vi install_server.sh
注释调入下代码后,保存并退出:wq!
#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
# echo "This systems seems to use systemd."
# echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
# exit 1
#fi
再次执行命令 ./install_server.sh ,根据提示一步一步执行,默认即可,最终配置如下
B.启动服务,并查看服务状态
[root@lzh-2024 utils]# systemctl start redis_6379.service
[root@lzh-2024 utils]# systemctl status redis_6379.service
C.启动REDIS客户端并测试
[root@lzh-2024 utils]# redis-cli
127.0.0.1:6379> set username lzh
OK
127.0.0.1:6379> get username
"lzh"
127.0.0.1:6379>
如果要退出,直接输入exit即可
但是此时只能在本地访问,⽆法远程连接,下一步将开启远程连接
2.设置允许远程连接
修改redis配置文件
[root@lzh-2024 utils]# vi /etc/redis/6379.conf
将 bind 127.0.0.1 修改为 0.0.0.0,如下图
bind 0.0.0.0 -::1
然后重启 Redis 服务
3.设置访问密码
编辑 redis 配置⽂件
[root@lzh-2024 utils]# vi /etc/redis/6379.conf
把如下内容的注释去掉
#requirepass foobared
如下,可以自己定义密码,如admin
requirepass admin
保存退出后,重启redis服务
[root@lzh-2024 utils]# systemctl restart redis_6379.service
这样后续的访问需要先输⼊密码认证通过⽅可:
[root@lzh-2024 utils]# redis-cli
127.0.0.1:6379> get username
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> get username
"lzh"
127.0.0.1:6379>
三、总结
如上是在linux系统中离线安装redis的完整过程,如有错漏,请大家及时指出,感谢。
本系列其他文章,请查看系列【Linux服务器Java环境搭建】