TIP:都在 /usr/local 目录中安装和下载软件。有的会自动安装到目录。 有一部分就是我们手工安装到该目录下的
官网下载,安装依赖 tcl,如果先安装 redis 的话,会报错,所以需要安装一下 tcl
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar -xzvf tcl8.6.1-src.tar.gz
cd /usr/local/tcl8.6.1/unix/
./configure
make && make install
安装 redis
使用 redis-3.2.8.tar.gz(截止 2017 年 4 月的最新稳定版)
tar -zxvf redis-3.2.8.tar.gz
cd redis-3.2.8
make && make test && make install
在等待很长时间后,最后有一个错误信息,提示日志打印失败
!!! WARNING The following tests failed:
*** [err]: Server is able to generate a stack trace on selected systems in tests/integration/logging.tcl
expected stack trace not found into log file
*** [err]: Test replication partial resync: no backlog (diskless: yes, reconnect: 1) in tests/integration/replication-psync.tcl
Expected condition '[s -1 sync_partial_err] > 0' to be true ([s -1 sync_partial_err] > 0)
Cleanup: may take some time... OK
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/redis-3.2.8/src'
make: *** [test] Error 2
由于这里的命令是 && 连接的,所以后面的 make install 没有被执行。再单独执行 make install
[root@eshop-cache01 redis-3.2.8]# make install
cd src && make install
make[1]: Entering directory `/usr/local/redis-3.2.8/src'
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory /usr/local/redis-3.2.8/src
安装还是会出现提示说 test 没有通过,但是这里是一个 Hint(提示),经过后面启动方案测试后,可以正常启动
本地可以用 redis-server 启动一下 redis,做一些测试
在生产环境是要把 redis 作为一个系统的 daemon 进程去运行的,每次系统启动, redis 进程一起启动
1、将redis/utils 目录下 redis_init_script 脚本,拷贝到 /etc/init.d 目录中,并重命名为redis_6379
cp redis_init_script /etc/init.d/
cd /etc/init.d/
mv redis_init_script redis_6379
6379是我们希望这个redis实例监听的端口号,也是 redis 的默认端口号
vi redis_6379可以看到脚本的第6行的REDISPORT,端口号就是6379
2、创建两个目录:
mkdir /etc/redis
mkdir /var/redis/
mkdir /var/redis/6379
3、修改 redis 配置文件 redis.conf
该文件默认在 redis 安装目录下,拷贝到 /etc/redis 目录中,修改名称为 6379.conf
cp /usr/local/redis-3.2.8/redis.conf /etc/redis/
cd /etc/redis/
mv redis.conf 6379.conf
为什么要这样修改呢?是因为 redis_init_script 脚本中的 conf 配置指定了该目录下的 端口号.conf 文件
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
4、修改 redis.conf(6379.conf) 中的部分配置为生产环境
建议在 windows 下使用文本编辑器搜索修改后在上传覆盖
daemonize yes // 让redis以daemon后台守护进程运行
pidfile /var/run/redis_6379.pid // 设置redis的pid文件位置
port 6379 // 设置 redis的监听端口号
dir /var/redis/6379 //设置持久化文件的存储位置
5、启动 redis
# 执行 redis_6379 脚本
cd /etc/init.d
# 如果没有执行权限的话,修改执行权限 ,可以使用 chmod u+x redis_6379
# chmod 777 redis_6379
./redis_6379 start
6、确认 redis 进程是否启动,ps -ef | grep redis
7、让 redis 跟随系统启动自动启动
使用 chkconfig 命令开启该文件的系统服务,
可以在 redis_6379 配置文件中上面添加 chkconfig 的注释信息
如下,不要在 #!/bin/sh 上面添加
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
8、添加完成之后,使用以下命令开启随系统启动
chkconfig redis_6379 on
有关 chkconfig 命令的更多信息 (opens new window)参考百度
1、停止本机的 6379 端口的 redis 进程
redis-cli shutdown
2、关闭指定机器的 redis,不加 shutdown 命令的话就是登陆到 cli
redis-cli -h 127.0.0.1 -p 6379 shutdown
3、ping redis 的端口,看是否正常
redis-cli PING
4、默认连接本机 6379 的redis
redis-cli
5、在 cli 中可以使用 redis 的命令,下面使用最贱的 set 和 get 命令测试
SET k1 v1
GET k1
redis 的技术包括 4 块:
1、redis各种数据结构和命令的使用,包括 java api 的使用
2、针对特殊业务场景,redis作为解决方案的使用,pub/sub 消息系统、分布式锁、输入的自动完成,等等
3、日常的管理相关的命令
4、企业级的集群部署和架构
我们将从redis搭建,到深入集群架构的底层原理,讲解 redis 持久化、主从架构、复制原理、集群架构、数据分布式存储原理、哨兵原理、高可用架构,了解 redis 如何去支撑海量数据、高并发、高可用的
参考: