Redis 是一个高性能的key-value数据库。redis数据都是缓存在内存中,会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
缓存读取流程:
1、先到缓存中查数据
2、缓存中不存在则到实际数据源中取,取出来后放入缓存
3、下次再来取同样信息时则可直接从缓存中获取
缓存更新流程:
1、更新数据库
2、使缓存过期或失效,这样会促使下次查询数据时在缓存中查不到而重新从数据库去一次。
搭建lnmp见http://liang-yao.cnblogs.com/p/8448362.html
在redis-server上安装redis:
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
tar xzvf redis-4.0.1.tar.gz
cd redis-4.0.1/
make
mkdir /usr/local/redis
cp redis.conf sentinel.conf /usr/local/redis/
cd src/
cp redis-server redis-sentinel redis-benchmark redis-check-aof redis-cli /usr/local/redis
cd /usr/local/redis/
vim redis.conf
69 bind 192.168.200.102
92 port 6379
136 daemonize yes #开启守护进程
启动服务:
./redis-server redis.conf
ss -ntlu
tcp LISTEN 0 128 192.168.200.102:6379 *:*
./redis-cli -h 192.168.200.102
192.168.200.102:6379> keys *
(empty list or set)
在lnmp-server上安装php扩展
wget https://github.com/phpredis/phpredis/archive/develop.zip
unzip develop.zip
cd phpredis-develop/
phpize
./configure --with-php-config=/usr/bin/php-config
make && make install
vim /etc/php.ini
extension_dir="/usr/lib64/php/modules/"
extension=redis.so
测试:
systemctl restart php-fpm
lnmp-server下载discuz测试:
wget http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip
unzip Discuz_X3.3_SC_UTF8.zip
mv upload/* /usr/share/nginx/html/
访问lnmp-server安装discuz:
vim /usr/share/nginx/html/config/config_global.php
// -------------------------- CONFIG MEMORY --------------------------- //
$_config[‘memory‘][‘prefix‘] = ‘discuz_‘;
$_config[‘memory‘][‘redis‘][‘server‘] = ‘192.168.200.102‘;
$_config[‘memory‘][‘redis‘][‘port‘] = 6379;
#redis-serverIP地址
访问lnmp-server模拟用户操作:
./redis-cli -h 192.168.200.102
192.168.200.102:6379> keys *