为owncloud配置Redis缓存

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 用Redis配置缓存服务 安装Redis 先到你的目录,比如redis,下载并解压redis包 wget http://download.redis.io/releases/redis-4.0.11.tar.gz tar xzf redis-4.0.11.tar.gz 然后进入redis-4.0.11目录编译redis cd redis-4.0.11 //编译 make 然后将redis安装到某个目录。

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点

用Redis配置缓存服务

安装Redis

先到你的目录,比如redis,下载并解压redis包

wget http://download.redis.io/releases/redis-4.0.11.tar.gz
tar xzf redis-4.0.11.tar.gz

然后进入redis-4.0.11目录编译redis

cd redis-4.0.11
//编译
make

然后将redis安装到某个目录。比如下面的/usr/local/redis

make PREFIX=/usr/local/redis install

执行完上面的命令后会在/usr/local/redis多出一个bin文件夹

然后将解压出来的redis.conf复制到/usr/local/redis/etc

//先创建目录
mkdir -p /usr/local/redis/etc
//然后复制
cp redis.conf /usr/local/redis/etc/

然后将解压出来的的utils 文件夹下的redis启动脚本拷贝到/etc/init.d/下面,并命名为redis

cd utils
cp redis_init_script /etc/init.d/redis

然后将这个启动脚本中的conf路径改为我们实际的conf文件路径

//打开
vim /etc/init.d/redis

//然后将CONF那一行改为conf的目录
CONF="/usr/local/redis/etc/redis.conf"

给启动脚本添加权限

chmod +x /etc/init.d/redis

设置自动启动

chkconfig redis on

经过以上的设置,我们就可以启动redis服务了

service redis start/stop/restart

这样启动redis会占用我们的终端,所以还需要设置redis为守护进程启动

vim /usr/local/redis/etc/redis.conf
daemonize yes #redis将以守护进程的方式运行
timeout 300 #当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能

我们可以查看redis的进程信息

ps -ef |grep redis

最后我们需要将redis的命令所在目录添加到系统参数path中

//打开profile文件
vi /etc/profile 

//在最后一行添加我们的redis的bin目录
export PATH="$PATH:/usr/local/redis/bin"

//保存退出后,然后应用我们的配置
. /etc/profile  

这样我们就可以在终端中利用redis-cli命令进入redis了

安装phpredis

首先下载软件包,并解压

//注意自己先选择好目录
wget https://github.com/nicolasff/phpredis/archive/4.1.1.tar.gz
tar -zxvf 4.1.1.tar.gz 
cd phpredis-4.1.1/

然后用phpize编译安装

phpize

配置编译

//如果不知道php-config的路径,可以用find命令
./configure --with-php-config=/usr/bin/php-config  //这里是你自己的php-config配置

//编译
make

//安装
make install  

经过上面的编译安装后就会生成redis.so文件了,要先通过find命令找到redis.so文件的路径

find / -name redis.so

配置PHP

//先打开php.ini文件,文件路径同样可以用find命令
vim /etc/opt/remi/php72/php.ini

//然后找到extension_dir的行,改为
extension_dir="/usr/lib64/php/modules"(这是你的redis.so目录)  

//然后再加上
extension="redis.so"

//保存退出

这里提供一个小技巧,就是php.ini文件很长,怎么快速找到extension_dir呢?可以输入/extension_dir,然后按回车键,光标就会跳转到extension_dir的地方,然后按n键,就可以一个一个看了

最后我们还要再配置config.php文件

//打开config.php文件
vim /var/www/html/owncloud/config/config.php

//在结尾处添加下面的redis配置信息
'memcache.local' => '\OC\Memcache\Redis',
//加这一句是为了使用Redis来管理事务文件锁定,这样就不会出现“事务文件锁定应配置为使用内存的锁定...”的问题
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),

//然后保存退出

最后当然是重启Apache服务了,然后刷新我们的owncloud页面中的设置页面,可以看到没有配置缓存的提示已经没有了,也就是我们缓存配置成功了。


                       欢迎关注我的微信公众号,和我一起每天进步一点点!

AntDream

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1天前
|
存储 缓存 监控
利用Redis构建高性能的缓存系统
在现代Web应用中,性能优化是提升用户体验和响应速度的关键。Redis作为一款开源的内存数据结构存储系统,因其出色的性能、丰富的数据结构和灵活的使用方式,成为了构建高性能缓存系统的首选工具。本文将探讨Redis在缓存系统中的应用,分析其优势,并通过实例展示如何结合Redis构建高效、可靠的缓存系统,以应对高并发、大数据量等挑战。
|
5天前
|
缓存 NoSQL Redis
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?-- Redis多线程
【5月更文挑战第21天】Redis启用多线程后,主线程负责接收事件和命令执行,IO线程处理读写数据。请求处理流程中,主线程接收客户端请求,IO线程读取并解析命令,主线程执行后写回响应。业界普遍认为,除非必要,否则不建议启用多线程模式,因单线程性能已能满足多数需求。公司实际场景中,启用多线程使QPS提升约50%,或选择使用Redis Cluster以提升性能和可用性。
11 0
|
6天前
|
NoSQL Redis 数据库
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?-- Memcache + Redis 多线程
【5月更文挑战第20天】Redis采用单线程模式以避免上下文切换和资源竞争,简化调试,且其性能瓶颈在于网络IO和内存,而非多线程。相比之下,Memcache使用多线程能更好地利用多核CPU,但伴随上下文切换和锁管理的开销。尽管Redis单线程性能不俗,6.0版本引入多线程以提升高并发下的IO处理能力。启用多线程后,Redis结合Reactor和epoll实现并发处理,提高系统性能。
27 0
|
7天前
|
缓存 NoSQL 中间件
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?epoll、poll和select + Reactor模式
【5月更文挑战第19天】`epoll`、`poll`和`select`是Linux下多路复用IO的三种方式。`select`需要主动调用检查文件描述符,而`epoll`能实现回调,即使不调用`epoll_wait`也能处理就绪事件。`poll`与`select`类似,但支持更多文件描述符。面试时,重点讲解`epoll`的高效性和`Reactor`模式,该模式包括一个分发器和多个处理器,用于处理连接和读写事件。Redis采用单线程模型结合`epoll`的Reactor模式,确保高性能。在Redis 6.0后引入多线程,但基本原理保持不变。
25 2
|
8天前
|
缓存 NoSQL Redis
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?--epoll调用和中断
【5月更文挑战第18天】`epoll`包含红黑树和就绪列表,用于高效管理文件描述符。关键系统调用有3个:`epoll_create()`创建epoll结构,`epoll_ctl()`添加/删除/修改文件描述符,`epoll_wait()`获取就绪文件描述符。`epoll_wait()`可设置超时时间(-1阻塞,0立即返回,正数等待指定时间)。当文件描述符满足条件(如数据到达)时,通过中断机制(如网卡或时钟中断)更新就绪列表,唤醒等待的进程。
37 6
|
9天前
|
NoSQL Redis 缓存
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?
【5月更文挑战第17天】Redis常被称为单线程,但实际上其在处理命令时采用单线程,但在6.0后IO变为多线程。持久化和数据同步等任务由额外线程处理,因此严格来说Redis是多线程的。面试时需理解Redis的IO模型,如epoll和Reactor模式,以及其内存操作带来的高性能。Redis使用epoll进行高效文件描述符管理,实现高性能的网络IO。在讨论Redis与Memcached的线程模型差异时,应强调Redis的单线程模型如何通过内存操作和高效IO实现高性能。
37 7
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?
|
12天前
|
缓存 NoSQL 关系型数据库
【Redis】Redis 缓存重点解析
【Redis】Redis 缓存重点解析
28 0
|
NoSQL Redis
[Redis]Redis指南二 配置
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/73863746 我们可以...
896 0
|
13天前
|
负载均衡 监控 NoSQL
Redis的几种主要集群方案
【5月更文挑战第15天】Redis集群方案包括主从复制(基础,读写分离,手动故障恢复)、哨兵模式(自动高可用,自动故障转移)和Redis Cluster(官方分布式解决方案,自动分片、容错和扩展)。此外,还有Codis、Redisson和Twemproxy等工具用于代理分片和负载均衡。选择方案需考虑应用场景、数据量和并发需求,权衡可用性、性能和扩展性。
193 2
|
13天前
|
存储 监控 负载均衡
保证Redis的高可用性是一个涉及多个层面的任务,主要包括数据持久化、复制与故障转移、集群化部署等方面
【5月更文挑战第15天】保证Redis高可用性涉及数据持久化、复制与故障转移、集群化及优化策略。RDB和AOF是数据持久化方法,哨兵模式确保故障自动恢复。Redis Cluster实现分布式部署,提高负载均衡和容错性。其他措施包括身份认证、多线程、数据压缩和监控报警,以增强安全性和稳定性。通过综合配置与监控,可确保Redis服务的高效、可靠运行。
186 2