redis

redis 安装


在server3中安装

 所需要的rpm包
php-5.3.3-38.el6.x86_64.rpm   
php-cli-5.3.3-38.el6.x86_64.rpm   
php-common-5.3.3-38.el6.x86_64.rpm  
php-devel-5.3.3-38.el6.x86_64.rpm   
php-fpm-5.3.3-38.el6.x86_64.rpm
php-gd-5.3.3-38.el6.x86_64.rpm 
php-mbstring-5.3.3-38.el6.x86_64.rpm
php-mysql-5.3.3-38.el6.x86_64.rpm

php-pdo-5.3.3-38.el6.x86_64.rpm

nginx-1.8.0-1.el6.ngx.x86_64.rpm

yum install php-* nginx-1.8.0-1.el6.ngx.x86_64.rpm -y    

查看 进程是否有   ps -aux

配nginx

更改php.ini


解压安装包

yum install unzip gcc -y

unzip phpredis-master.zip

make && make install

cd /etc/php.d/
cp mysql.ini redis.ini

vim redis.ini    

安装 redis

tar zxf redis-3.2.9.tar.gz

cd redis-3.2.9

make && make install

cd utils    

./install_server.sh     回车就行
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf]
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server]
Selected config:
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...

Installation successful!

修改配置文件

vim /etc/redis/6379.conf


[root@server03 utils]# /etc/init.d/redis_6379 restart    重新启动
Stopping ...
Redis stopped
Starting Redis server...


在server2 中安装数据库和redis

yum isntall mysql-server   gcc  -y

tar zxf redis-3.2.9.tar.gz

cd redis-3.2.9

make && make install

cd utils    

./install_server.sh     回车就行
vim /etc/redis/6379.conf

bind 0.0.0.0

protected-mode no

/etc/init.d/redis_6379 restart

在server 5中只安装redis 安装步骤一样

主从同步

在server2 和server5中

vim /etc/redis/6379.conf

slaveof 172.25.254.3 6379    添加 这里3是master

/etc/init.d/redis_6379 restart

在server3中

更改

vim /etc/redis/6379.conf
bind 172.25.254.3
protected-mode no

/etc/init.d/redis_6379 restart

查看     redis-cli -h 172.25.254.3
info


只有master 可写 其他只能读

高可用

在主中添加

vim /etc/redis/6379.conf

slaveof 172.25.254.2 6379

vim  /etc/redis/sentinel.conf
    17 protected-mode no
    21 port 26379
    69 sentinel monitor mymaster 172.25.254.2 6379 2  masterip 端口 slave个数
    98 sentinel down-after-milliseconds mymaster 5000
    131 sentinel failover-timeout mymaster 10000 

修改完成 之后scp 给slave

redis-server /etc/redis/sentinel.conf --sentinel        查看

当主shutdown

server 2 会自动成为master 继续操作

redis 缓存

关闭 server5 和server2

删除server3 中redis 添加的slaveof

cp test.php /usr/share/nginx/html/

vim test.php            254.3是redis    254.2是mysql

<?php
        $redis = new Redis();
        $redis->connect('172.25.254.3',6379) or die ("could net connect redis server");
  #      $query = "select * from test limit 9";
        $query = "select * from test";
        for ($key = 1; $key < 10; $key++)
        {
                if (!$redis->get($key))
                {
                        $connect = mysql_connect('172.25.254.2','redis','westos');
                        mysql_select_db(test);
                        $result = mysql_query($query);
                        //如果没有找到$key,就将该查询sql的结果缓存到redis
                        while ($row = mysql_fetch_assoc($result))
                        {
                                $redis->set($row['id'],$row['name']);
                        }
                        $myserver = 'mysql';
                        break;
                }
                else
                {
                        $myserver = "redis";
                        $data[$key] = $redis->get($key);
                }
        }
 
        echo $myserver;
        echo "<br>";
        for ($key = 1; $key < 10; $key++)
        {
                echo "number is <b><font color=#FF0000>$key</font></b>";
 
                echo "<br>";
 
                echo "name is <b><font color=#FF0000>$data[$key]</font></b>";
 
                echo "<br>";
        }

?>

在server2中启动mysql

进入mysql

mysql> grant all on test.* to redis@localhost identified by 'westos';
mysql> flush privileges;

在浏览器中测试




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值