Redis是Remote Dictionary Server(远程字典服务器)字典结构存储数据,允许其他应用通过TCP协议访问。支持的数据类型:
Redis存储数据在内存中。所以其特性是存储数据快。但是如果程序退出,数据会丢失。Redis提供了持久化支持,可以将内存中的数据异步的写入硬盘。
下载Redis安装包,在Redis网站。
http://www.redis.cn/download.html
解压压缩包,进入解压的目录
tar -xvf redis-6.0.6.tar.gz
编译源码,生成目标文件,如果需要支持其他特性需要安装第三方库支持;比如:redis支持TLS需要OpenSSL第三方库支持。编译时需要加上make BUILD_TLS=yes
make
安装,执行make install,或则直接在src目录下运行目标文件redis-server,直接运行redis-server启用的是缺省的配置文件,命令后面可以跟配置文件最好使用绝对路劲/xxx/xxx/redis.conf
通过配置文件可以指定redis的端口号、是否开启持久化、日志级别等其他配置选项。redis源码包中给了配置文件模板,需要根据自己的需求做出相应的修改,如修改端口号,默认为6379
# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379
日志等级,默认为notice
# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel notice
还有log文件路劲等等配置
如果启动参数传递同名的配置选项会覆盖配置文件中相同的参数,比如:
redis-server /xxx/redis.conf --loglevel warning
还可以通过redis命令行进行设置
[root@localhost redis-6.0.6]# ./src/redis-cli -p 6379
127.0.0.1:6379> CONFIG SET loglevel warning
OK
127.0.0.1:6379>
note:不是所有的配置都能够通过命令行设置的
启动redis通过redis-server
redis-server /xxx/redis.conf
启动命令行客户端redis-cli
redis-cli -p port -h host
验证客户端与server是否正常连接可以通过PING命令,如果正常server会回复PONG
127.0.0.1:6379> PING
PONG
一般停止redis是向redis发送SHUTDOWN命令,而不会强制终止进程,会使redis在数据同步到硬盘的时候导致数据丢失。
127.0.0.1:6379> SHUTDOWN
编译出错
server.h:1051:5: error: expected specifier-qualifier-list before
可能出错的原因是gcc版本过低,依赖的库没有,只需要更新gcc版本就行
gcc --version //查询gcc版本
//使用一下命令升级到gcc 7
yum install centos-release-scl
yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash