微擎两个站点开启redis 造成数据冲突,可以参考以下方法试下:
- 开启多个redis 使用不同端口进行区分
- 使用不同的缓存 A使用redis B使用memcache
- 使用不同的识别标志:更改authkey 和更改微擎前缀 ims_
- 使用redis不同库标识 增加 $config[‘setting’][‘redis’][‘database’] = 1028;
// -------------------------- CONFIG SETTING --------------------------- //
$config[‘setting’][‘charset’] = ‘utf-8’;
$config[‘setting’][‘cache’] = ‘redis’;
$config[‘setting’][‘timezone’] = ‘Asia/Shanghai’;
$config[‘setting’][‘memory_limit’] = ‘256M’;
$config[‘setting’][‘filemode’] = 0644;
$config[‘setting’][‘authkey’] = ‘87ddc951’; //修改authkey
$config[‘setting’][‘founder’] = ‘1’;
$config[‘setting’][‘development’] = 0;
$config[‘setting’][‘referrer’] = 0;
// -------------------------- CONFIG REDIS --------------------------- //
$config[‘setting’][‘redis’][‘server’] = ‘127.0.0.1’;
$config[‘setting’][‘redis’][‘port’] = 6379;
$config[‘setting’][‘redis’][‘pconnect’] = 1;
$config[‘setting’][‘redis’][‘database’] = 1028; // 增加本行 区分不同库 1028为数字 自定义
$config[‘setting’][‘redis’][‘timeout’] = 30;
$config[‘setting’][‘redis’][‘session’] = 1;
$config[‘setting’][‘redis’][‘database’] 不同即可。
经过测试 这个方法不行。
要想要2个站点的redis不冲突 需要修改 framework/function/
cache.redis.func.php
中cache_redis()方法;
return $redisobj;
改成
$redisobj->select(2); // 选择 DB2数据库
return $redisobj;
宝塔面板
后续:上述方法不行的话可以开两个redis端口
1、首先复制/www/server/redis/redis.conf 和 www/server/redis/redis.pid
2、把复制好的文件名改成要开启的端口 例:redis6380.conf
3、打开redis6380.conf 把里面的port全部改成6380
4、最后一步使用linux命令
/www/server/redis/src/redis-server /www/server/redis/redis6380.conf 开启6380端口
清除redis缓存
1.先确保redis进程存活
ps -ef|grep redis
2.执行./redis-cli或者./redis-cli -h 127.0.0.1 -p 6379
[root@slave bin]# /bin/redis-cli
3.执行dbsize命令
127.0.0.1:6379> dbsize
4.清理 127.0.0.1:6379> flushall
5.退出 127.0.0.1:6379> exit