尝试添加Redis却遭遇失败(添加redis失败)
尝试添加Redis却遭遇失败
最近,我希望为我的应用程序添加Redis缓存和支持,但是我不得不面对失败。我已经做了一些研究,尝试使用Redis,但它仍然不起作用。希望能有人来帮助我,让我弄清楚,我缺少了什么?
要使用Redis缓存,我首先要做的是安装Redis,并将其用于我的应用。在这方面,我已经采取了一些行动,如下所示:
$ sudo apt-get install redis-server
$ sudo systemctl enable redis-server
紧接着,我安装了Redis PHP扩展:
$ sudo apt-get install php-redis
我更新配置文件并重新启动 Apache:
$ sudo vim /etc/php/7.2/apache2/php.ini
extension=redis.so
$ sudo service apache2 restart
一切都看起来很正常,在命令行,我运行以下命令以检查缓存正在正确运行:
$ redis-cli ping
PONG
但是,当我尝试从我的应用访问缓存时,它不起作用,尽管我可以手动添加项目并检查它们是否存在:
$ redis-cli
127.0.0.1:6379> set sample "hello world"OK
127.0.0.1:6379> get sample"hello world"
因此,问题出在哪里?
我怀疑有可能是因为权限问题:
$ ls -l /var/run/redis
srwxr-xr-x 1 redis redis 0 Apr 22 22:33 redis.sock
它看起来不是属于www-data用户,这可能是我访问缓存失败的原因。
经过几个小时的调查,我发现了一个解决方案:为了修复Redis缓存访问错误,我需要将/var/run/redis目录更改为www-data用户,如下所示:
$ sudo chown www-data:www-data /var/run/redis
这次,几分钟之后,我们可以看到Redis的缓存完美的运行起来了!
从我的经历来看,安装Redis缓存可能有一些挑战,但是,如果你有足够的耐心,就可以让它最终成功!