最近部署一个商城,发现2套程序的redis服务功能是混乱的,A程序运行的数据和B程序运行的数据存在互相干扰问题,由于数据冲突问题,需要单独的redis,但是没有服务器安装redis了,于是考虑redis服务多开;经过查阅相关资料,笔者亲测找到如下2中解决方法:
方法1:redis存在0-15共16个库,在spring配置里,对不同项目配置不同数据库,代码如下:其中database在0-15里面随意选取一个,问题解决。这种方法简单但是不知道是否影响redis的运行效率。
具体的代码如下:
首先要去人你的环境切换为redis,请参考下面
$config['setting']['cache'] = 'redis'; // 默认是mysql,改为redis
然后选择redis的库,
// -------------------------- CONFIG REDIS --------------------------- //
$config['setting']['redis']['server'] = '127.0.0.1';//如果redis服务器在别的机器,请填写机器的IP地址。
$config['setting']['redis']['port'] = 6379;
$config['setting']['redis']['pconnect'] = 1;
$config['setting']['redis']['timeout'] = 1;
$config['setting']['redis']['requirepass'] = '';
方法2:利用redis多开的原理
具体方法:单实例多应用一样,复制新的配置文件,改变配置名称,修改配置文件里面的端口号、PID文件路径以及日志文件路径、 转储文件路径,确保两个或者多个redis服务不会冲突;
默认Redis程序安装在/www/server/redis目录下;
配置文件:/www/server/redis/redis.conf,该配置文件中配置的端口为默认端口:6379;
可以指定端口启动多个Redis进程。
cd /www/server/redis/ #切换到redis安装路径下
cp redis.conf redis6380.conf #复制到新的配置文件供第二个redis使用
vim redis6380.conf #配置新redis文件,避免两个redis冲突,在配置文件找到以下几项,进行修改;
pidfile /var/run/redis/redis_6380.pid #指定新的PID文件路径
port 6380 #指定新的端口号
logfile /var/log/redis/redis_6380.log #指定新的日志文件路径
dbfilename dump_6380.rdb #指定新的转储文件路径
#配置文件修改完成 保存退出
启动多实例命令及查看启动结果:
redis-server /www/server/redis/redis6380.conf #启动新实例命令
netstat -lnpt #通过端口查看服务器是否启动,结果如下:
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1288/redis-server 1
tcp 0 0 127.0.0.1:6380 0.0.0.0:* LISTEN 4084/redis-server 1
推荐阅读:
匠人匠心科技每天都会不定时更新有关天津网站制作以及网络营销推广的文章,希望对您有用。