【Linux服务器Java环境搭建】010在linux中安装Redis,以及对Redis的配置与远程连接

发布于:2024-07-20 ⋅ 阅读:(37) ⋅ 点赞:(0)

系列文章目录

【Linux服务器Java环境搭建】


前言

好久没有更新博客了,今天下了班回到家,看到电脑桌上尘封已久的《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环境搭建】 


网站公告

今日签到

点亮在社区的每一天
去签到