前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >电商详情页缓存架构(二-二)redis 安装及生产环境启动方案

电商详情页缓存架构(二-二)redis 安装及生产环境启动方案

作者头像
chenchenchen
发布2021-09-06 14:14:57
3780
发布2021-09-06 14:14:57
举报
文章被收录于专栏:chenchenchen

TIP:都在 /usr/local 目录中安装和下载软件。有的会自动安装到目录。 有一部分就是我们手工安装到该目录下的

安装单机版 redis

官网下载,安装依赖 tcl,如果先安装 redis 的话,会报错,所以需要安装一下 tcl

代码语言:javascript
复制
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

代码语言:javascript
复制
使用 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

在等待很长时间后,最后有一个错误信息,提示日志打印失败

代码语言:javascript
复制
!!! 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

代码语言:javascript
复制
[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 的生产环境启动方案

本地可以用 redis-server 启动一下 redis,做一些测试

在生产环境是要把 redis 作为一个系统的 daemon 进程去运行的,每次系统启动, redis 进程一起启动

1、将redis/utils 目录下 redis_init_script 脚本,拷贝到 /etc/init.d 目录中,并重命名为redis_6379

代码语言:javascript
复制
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、创建两个目录:

代码语言:javascript
复制
mkdir /etc/redis
mkdir /var/redis/
mkdir /var/redis/6379
  • /etc/redis(存放 redis 的配置文件)
  • /var/redis/6379(存放 redis 的持久化文件)
  • /var/run/redis_6379.pid(存放redis的pid文件位置)

3、修改 redis 配置文件 redis.conf

该文件默认在 redis 安装目录下,拷贝到 /etc/redis 目录中,修改名称为 6379.conf

代码语言:javascript
复制
cp /usr/local/redis-3.2.8/redis.conf /etc/redis/
cd /etc/redis/
mv redis.conf 6379.conf

为什么要这样修改呢?是因为 redis_init_script 脚本中的 conf 配置指定了该目录下的 端口号.conf 文件

代码语言:javascript
复制
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"

4、修改 redis.conf(6379.conf) 中的部分配置为生产环境

建议在 windows 下使用文本编辑器搜索修改后在上传覆盖

代码语言:javascript
复制
daemonize	yes						// 让redis以daemon后台守护进程运行
pidfile /var/run/redis_6379.pid     // 设置redis的pid文件位置
port  6379						    // 设置 redis的监听端口号
dir /var/redis/6379				    //设置持久化文件的存储位置

5、启动 redis

代码语言:javascript
复制
# 执行 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 跟随系统启动自动启动

代码语言:javascript
复制
使用 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、添加完成之后,使用以下命令开启随系统启动

代码语言:javascript
复制
chkconfig redis_6379 on

有关 chkconfig 命令的更多信息 (opens new window)参考百度

redis cli的使用

1、停止本机的 6379 端口的 redis 进程

代码语言:javascript
复制
redis-cli shutdown

2、关闭指定机器的 redis,不加 shutdown 命令的话就是登陆到 cli

代码语言:javascript
复制
redis-cli -h 127.0.0.1 -p 6379 shutdown

3、ping redis 的端口,看是否正常

代码语言:javascript
复制
redis-cli PING

4、默认连接本机 6379 的redis

代码语言:javascript
复制
redis-cli

5、在 cli 中可以使用 redis 的命令,下面使用最贱的 set 和 get 命令测试

代码语言:javascript
复制
SET k1 v1
GET k1

小结

redis 的技术包括 4 块:

1、redis各种数据结构和命令的使用,包括 java api 的使用

2、针对特殊业务场景,redis作为解决方案的使用,pub/sub 消息系统、分布式锁、输入的自动完成,等等

3、日常的管理相关的命令

4、企业级的集群部署和架构

我们将从redis搭建,到深入集群架构的底层原理,讲解 redis 持久化、主从架构、复制原理、集群架构、数据分布式存储原理、哨兵原理、高可用架构,了解 redis 如何去支撑海量数据、高并发、高可用的

参考:

https://zq99299.github.io/note-book/cache-pdp/redis/007.html#%E5%AE%89%E8%A3%85%E5%8D%95%E6%9C%BA%E7%89%88-redis

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装单机版 redis
  • redis 的生产环境启动方案
  • redis cli的使用
  • 小结
相关产品与服务
云数据库 Redis®
腾讯云数据库 Redis®(TencentDB for Redis®)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档