前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用redis为Typecho博客加速

使用redis为Typecho博客加速

作者头像
小柒吃地瓜
修改2020-04-21 17:10:21
1.7K0
修改2020-04-21 17:10:21
举报
文章被收录于专栏:梦在深巷梦在深巷

redis的介绍

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

为什么要使用缓存

我的博客为了追求响应速度和B格就琢磨了一下Typecho使用redis缓存!

一来可以提高页面的生成时间,二来也能防止CC攻击使MySql耗尽系统资源!

redis的安装

代码语言:javascript
复制
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar -zxvf redis-5.0.3.tar.gz
cd redis-5.0.3
make
#编译完成后二进制文件在./src/目录下
mv src/ ../redis
cp redis.conf ../redis/
cd /root/redis/
#删除无用的源代码文件
rm -rf *.o
rm -rf *.c
rm -rf *.h

redis配置文件

代码语言:javascript
复制
cd /root/redis/
#需要读写权限请自行根据情况赋予
chmod 777 *
#END
vim redis.conf
#在136行把no改成yes
daemonize yes
#在235行把yes改成no
stop-writes-on-bgsave-error yes

需要开启或禁用AOF或者禁止Fork的话自行百度解决,本站的redis关闭了AOF和Fork,节约磁盘空间!

redis启动|关闭

代码语言:javascript
复制
#启动
./redis-server ./redis.conf
#关闭
./redis-cli shutdown
#指定端口关闭
./redis-cli -p <port> shutdown
启动成功示例

  1. 启动redis
  2. ping一下redis是否可以成功连接
  3. 查看redis进程是否存在

redis连接|操作

代码语言:javascript
复制
#连接
./redis-cli 
#指定IP,端口连接
./redis-cli -n 127.0.0.1 -p 6379
#退出连接
quit

  • 具体使用方法自行百度,Google!

Typecho安装TpCache

  • TpCache下载地址:https://github.com/phpgao/TpCache
  • 上传到\usr\plugins\下解压把文件夹名字修改成TpCache
  • 登录到后台启用插件后,并且设置好插件使用redis.
设置图

  • 这个插件支持memcache,memcached,redis,MySql缓存,但是有点BUG作者未修复!
  • 我个人为了兼容我的主题修改了部分代码,目前代码还在测试阶段.无问题后我会放出修改后的插件!

查看是否在redis缓存内容

  • 插件保存好后再前端多点击几篇文章后登陆到redis查看
代码语言:javascript
复制
#选择库
select 0
#查看全部key
keys *
#查看key内容
get key
#清空当前库
flushdb
##清空所有库
flushall
查看内容

ab工具测试

使用ab工具测试100并发1000链接图(ab是啥?戳进去看吧!) ​

内容解释
代码语言:javascript
复制
Concurrency Level//并发请求数
Time taken for tests//测试持续的时间
Complete requests//完成的请求数
Failed requests//失败的请求数
Total transferred//测试中的网络传输量
HTML transferred//测试中的HTML内容传输量
Requests per second//吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
Time per request//用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
Time per request //服务器平均请求处理时间,大家最关心的指标之三
Transfer rate//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

loadimpact测试图

从测试图中明显的看到页面随着访问次数和并发数的增长,加载时间就越快. 使用Redis开启缓存后,页面的加载时间稳定在260-340ms,访问量的上升并没有导致网页加载变慢。Redis缓存对网站并发能力的提升效果非常显著!


版权属于:龙之介大人

本文链接:https://cloud.tencent.com/developer/article/1617656

本站所有原创文章采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 您可以自由的转载和修改,但请务必注明文章来源和作者署名并说明文章非原创且不可用于商业目的。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • redis的介绍
  • 为什么要使用缓存
  • redis的安装
  • redis配置文件
    • redis启动|关闭
    • redis连接|操作
    • Typecho安装TpCache
    • 查看是否在redis缓存内容
    • loadimpact测试图
    相关产品与服务
    云数据库 Redis
    腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档