龙之介大人

使用redis为Typecho博客加速
redis的介绍REmote DIctionary Server(Redis) 是一个由Salvatore San...
扫描右侧二维码阅读全文
30
2019/01

使用redis为Typecho博客加速

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的安装

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配置文件

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启动|关闭

#启动
./redis-server ./redis.conf
#关闭
./redis-cli shutdown
#指定端口关闭
./redis-cli -p <port> shutdown
启动成功示例

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

redis连接|操作

#连接
./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查看
#选择库
select 0
#查看全部key
keys *
#查看key内容
get key
#清空当前库
flushdb
##清空所有库
flushall
查看内容

ab工具测试

内容解释
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缓存对网站并发能力的提升效果非常显著!
最后修改:2019 年 03 月 02 日 05 : 35 PM

4 条评论

  1. AI悦创

    和你的主题一样,无法保存的和运行,该怎么解决呢?

    1. 龙之介大人
      @AI悦创

      这个插件我使用发现有bug,我目前已经不再用了.

  2. Xiu Wu

    大佬宝塔安装后启动不了怎么办

  3. 鹤别空林

    谢谢,很有帮助

发表评论