最近有空查阅了redis官网,发现redis数据类型不止Strings、Lists、Sets、Hashes、Sorted sets,还多了几种,决定先试用下JSON数据类型
1、安装Redis软件
JSON数据类型,对Redis版本有要求,需要大于4.0版本。下图是华为云服务器,其默认yum源中Redis软件版本是3.2.12版本。所以采用yum方式不满足版本要求了。
注意:这里选择Redis源码安装
1.1、下载Redis源码
云服务器操作系统是CentOS Linux,就像人生一样,总是给我最难的选择,所以只能选择下图中的Source code方式。
这里采用wget方式直接把源码下载到服务器,也可以采用curl或者直接下载到个人电脑桌面再上传到华为云服务器。最后ll了下,确定Redis源码下载成功。
1.2、解压安装
Linux系统安装软件(程序、服务、环境,有各种说法,知道就那么回事就行),/usr/local
目录是用户级程序目录,如果是redis
,则在/usr/local
新建一个redis
目录存放redis
;如果是java
,则在/usr/local
目录新建java
目录存放java
,/usr/local/src
目录一般是存放解压后的程序源码。
# 解压
tar -xzvf redis-stable.tar.gz -C /usr/local/src
# 进入目录
cd /usr/local/src/redis-stable/
# 执行make命令,如果无法执行make命令,那得yum -y install gcc gcc++
make
下图表示make执行成功:
/usr/local
目录下新建redis目录,存放安装后的redis程序
# 新建redis程序目录
mkdir /usr/local/redis
如下图,redis
源码包里是没有configure
文件,所以指定安装路径可以在执行make install
的时候
# 执行安装
make install PREFIX=/usr/local/redis
出现下图,说明软件安装成功了。
1.3 redis.conf
配置处理
redis
源码包里有一个叫redis.conf
文件,这个是redis.conf
对应版本的配置文件
软件安装成功后,我们一般在安装好的程序目录里存放对应的redis.conf
配置文件。在/usr/local/redis
目录下新建conf
目录存放配置文件
提示:对redis配置文件可以进行各种实际配置,这里就不展开了解。
daemonize yes
守护进程方式启动。
1.4 编写redis.service
文件
要是在Docker容器安装redis
,这步不需要,因为Docker
容器需要在前台运行一个进程,把redis
服务启动即可,而且Docker
不允许启动守护进程的程序服务。
# 切换目录
cd /etc/systemd/system
redis.service
内容如下:
[root@hecs-141089 bin]# cat /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target
[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecReload=/usr/local/redis/bin/redis-server -s reload
ExecStop=/usr/local/redis/bin/redis-server -s stop
PrivateTmp=true
Type=forking
[Install]
WantedBy=multi-user.target
# 重新加载
systemctl daemo-reload
# 启动redis服务
systemctl start redis
出现下图,说明配置成功:
2、Redis环境变量配置
想使用Redis客户端,发现出现下图情况,redis-cli
不是bash命令,无法使用。
在Linux系统中,想让安装的程序变成可使用的命令。方式一:只需要把命令文件的目录加到PATH环境变量里去就可以;方式二:采用软链接到PATH目录。这里采用方式二。
# ln -s 源文件 目标文件
ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/
新的问题
很开心的使用JSON数据类型的指令,很尴尬,发现命令不能使用。RedisJSON是以Redis模块的方式在Redis程序中出现,需要额外安装。
github上下载ReJSON源码:https://521github.com/RedisJSON/RedisJSON/releases
wget https://521github.com/extdomains/github.com/RedisJSON/RedisJSON/archive/refs/tags/v2.6.8.tar.gz
哎,看来进入一个新坑了…